注释:主要针对表记录(表数据)的更新操作
1、插入记录
insert into 表名称 (列名称,列名称,列名称...) values(列值,列值,列值...);
当想要插入整条数据的时候,前面部分的列名称列表可以不写,只在后面给值即可
insert into 表名称 values(列值,列值...列值); 这个时候值得顺序要和数据表中定义的列的顺序一致
注意事项:
a、日期型数据和字符型数据必须使用单引号括起来
b、插入空值有两种方式:a、不指定值 b、设置values为null
c、未插入的列的值使用null补充
d、insert操作的时候前后两个部分的顺序要一致,包括数据类型和数据顺序
2、修改表记录
普通修改
update 表名称 set 列名称=列值,列名称=列值,列名称=列值...;
注释:在没有添加条件的时候,会默认修改对应列名称下面的所有记录为上面的列值,这是不合理的
有条件修改,用于局部的修改,根据条件进行修改
update 表名称 set 列名称=列值,列名称=列值...[where 条件];
[注释]:条件一般是结果为boolean类型数据
3、删除表记录
delete from 表名称 [where 条件];
4、一个特殊的删除方式
truncate table 表名称; truncate 方法不是DML的操作,它是DDL的操作,它做的是对表结构的更改
上面的语句包含两个部分:a、drop table 表名称; 删除了表 b、create table 表名称; 创建了名称为之前的名字的新表
5、对上面的c、d两个区别的比较
使用delete操作可以回滚,即:数据可以恢复
使用truncate操作数据不可回滚,即:数据不可恢复
演示:start transaction;
delete * from student;
rollback; 回滚操作
6、对于MYSQL语言的运算符
a、between...and
update tbl_student set s_gender='M' where s_age >= 10 and s_age <= 20;
update tbl_student set s_gender='F' where s_age between 10 and 20;
b、in(.....)
update tbl_student set s_name='xxx' where s_name='zhangsan' or s_name='lisi‘;
update tbl_student set s_name='xxx' where s_name in ('zhangsan','lisi');
c、not
d、is null
update tbl_student set s_name='yyy' where s_age=null;这样操作是错误的-----为什么?=null不会报错,=‘null’也不会报错,但是结果不会被修改。
update tbl_student set s_name='yyy' where s_age is null;
当书写sql语句的时候,当出现了null的时候,不能使用等号,必须使用is null