数据更新操作包括数据插入、数据修改和数据删除等操作。数据表结构创建成功后,要向表插入数据。在使用数据过程中出现错误的数据时,可以修改数据,也可以删除数据。
1.插入数据
1.1 insert语句
使用insert语句插入数据,使用一次可以插入一行数据或多行数据,语法格式为:
insert [into] 表名 [(字段列表)] values (字段值1,字段值2,字段值3,...)
或者
insert [into] 表名 set 字段1=值1,字段2=值2
字段值:与表中字段的数据类型一致,如果字段的数据类型是数值型,则字段不需要加引号,其他数据类型的值都必须加引号。
数据插入除了插入已给定的值,还可以插入表中字段值的计算、表达式、数据查询结果。
1.2 replace语句
replace语句的用法基本与insert语句使用方法基本相同,唯一的区别是如果插入新纪录的值和表中具有唯一索引或唯一约束的旧记录值相同,则replace会在新纪录被插入之前删除旧记录,而insert语句会产生一个错误。
语法格式为:
replace into 表名 [(字段列表)] values (值列表);
或者
replace [into] 目标表名 [(字段列表1)] select (字段列表2) from 源表 where 条件表达式;
或者
replace [into] 表名 set 字段1=值1,字段2=值2;
2.修改数据
可以修改数据表中一个字段或者多个字段值的全部值,也可修改满足条件的数据行和数据列的部分值,语法格式为:
update 表名 set 字段名1=值1[,字段名2=值2,....,字段名n=值n] [where条件表达式];
其中:where子句是可选的,如果省略则表示表中对应的字段值都被更新。
修改表中一个字段或几个字段的所有数据:
update 表名 set 字段名1=值1[,字段名2=值2,....,字段名n=值n];
修改表中的满足条件的数据:
update 表名 set 字段名1=值1[,字段名2=值2,....,字段名n=值n] [where条件表达式];
3.删除数据
(1)用delete语句删除记录,语法格式为为:
delete from 表名 [where 条件表达式];
说明:如果没有指定where子句(省略了where子句),那么该表的所有记录都将被删除,但表的结构依然存在。所以delete语句有两种用法:
①删除表中的所有数据:
delete from 表名;
②删除部分数据(满足条件的数据):
delete from 表名 where 条件;
(2)用truncate table语句完全清空一个表,语法格式为:
truncate [table] 表名;
truncate table语句不支持事务的回滚,删除的数据不能恢复,并且不会触发触发器程序的运行。而使用delete语句删除的数据是可以恢复的。