mysql删除新添加数据_MySQL数据库基础(六)——SQL插入、更新、删除操
一、插入数据
1、为表的所有字段插入数据
使用基本的INSERT语句插入数据要求指定表名称和插入到新记录中的值。
INSERT INTO table_name (
MySQL数据库基础(六)——SQL插入、更新、删除操作 一、插入数据 1、为表的所有字段插入数据 使用基本的INSERT语句插入数据要求指定表名称和插入到新记录中的值。 INSERT INTO table_name (column_list) VALUES (value_list); insert into `TSubject` (subjectID,subjectName,BookName,Publisher) values ('0004','英语','大学英语走遍美国','清华出版社') 可以不指定插入的列 insert into `TSubject` values ('0005','高等数学','高等数学教材','清华出版社') 2、为表的指定字段插入数据 为表的指定字段插入数据,就是在INSERT语句中只向部分字段中插入值,而其他字段的值为表定义时的默认值。 必须制定插入的列 insert into TSubject (subjectID,subjectName) values ('0006','高等数学2') insert into TSubject (subjectName,subjectID) values ('数据结构','0007') 3、同时插入多条记录 INSERT语句可以同时向数据表中插入多条记录,插入时指定多个值列表,每个值列表之间用逗号分隔开,基本语法格式如下: INSERT INTO table_name (column_list) VALUES (value_list1), (value_list2),..., (value_listn); 示例: insert into TSubject (subjectName,subjectID) values ('C#开发','0008'),('苹果开发','0009') 4、将查询结果插入到表中 INSERT语句和SELECT语句组成的组合语句即可快速地从一个或多个表中向一个表中插入多个行。 INSERT INTO table_name1 (column_list1) SELECT (column_list2) FROM table_name2 WHERE (condition) 示例 insert into ST (subectid,subjectName) select subjectid,subjectName from TSubject where `Publisher` is not null 二、更新数据 1、根据本表的条件更改记录 MySQL中使用UPDATE语句更新表中的记录,可以更新特定的行或者同时更新所有的行。 UPDATE table_name SET column_name1 = value1, column_name2=value2,……, column_namen=valuen WHERE (condition); 示例: update `TStudent` set sname=concat(sname,'net') where class='net' update `TStudent` set sname=left(sname,3) where class='net' 根据学生的生日 在学生的姓名后标记 1988大一 1987年大二 1986年大三 1985年大四 update TStudent set sname=CONCAT(sname,case year(birthday)%5 when 0 then '大四' when 1 then '大三' when 2 then '大二' else '大一' end) where year(birthday)>=1985 and year(birthday)20 实例:将有不及格的学生姓名后加*标记 update TStudent a join TScore b on a.`StudentID`=b.`StudentID` set a.`Sname`=concat(sname,'*') where b.mark 同时更改两张表的列 实例:把分数低于60分的学生,加5分,并在学生姓名添加标记+ update TStudent a join TScore b on a.`StudentID`=b.`StudentID` set a.`Sname`=concat(sname,'+'), b.mark=b.`mark`+5 where b.mark 子查询也能实现相同功能 以下语句将分数有大于98分的学生姓名后加#号标记 update TStudent set Sname=concat(sname,'#') where studentid in (select studentid from TScore where mark>98); 三、删除数据 1、根据本表的条件删除记录 从数据表中删除数据使用DELETE语句数据库插入操作,DELETE语句允许WHERE子句指定删除条件。 DELETE FROM table_name [WHERE condition>] ; 删除学号小于00010的学生 delete from TStudent where studentid] ; 删除分数小于60分的学生 delete a from TStudent a join TScore b on a.`StudentID`=b.`StudentID` where b.mark 也可以使用子查询实现。 删除分数表中分数大于90的学生 delete from TStudent where studentid in (select studentid from TScore where mark>90); (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |