###DML数据操作语言


注释:主要针对表记录(表数据)的更新操作   

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值