操作语言

insert
update
delete

1)插入语句

语法

insert into 表名(列名,…)values (值1,…);
insert into 表名 set 列名=值;

特点

1.列数和值必须一致
2.列的顺序可以调换
3.可以忽略列名,默认所有列,而且列的顺序和原表列的顺序一致

案例

案例1
可以为null的列如何插入值
方式1
insert into beauty(id,name,sex,borndate,phone,photo,boyfriend_id)
values(13,’唐艺昕’,‘1990-4-23’,‘1888889829’,null,2);

方式2
insert into beauty(id,name,sex,borndate,phone,boyfriend_id)
values(13,’唐艺昕’,‘1990-4-23’,‘1888889829’,2);

案例2
可以忽略列名,默认所有列,而且列的顺序和原表列的顺序一致
insert into beauty
values(13,’唐艺昕’,‘1990-4-23’,‘1888889829’,null,2);

两种语法方式pk

1.方式1支持插入多行,方式2不支持
insert into beauty
values(13,’唐艺昕’,‘1990-4-23’,‘1888889829’,null,2)
,values(14,’’唐艺昕’,‘1990-4-23’,‘1888889829’,null,2);

2.方式1支持子查询,方式2不支持
insert into beauty (id,name,phone)
select id, boyname
from boys where id<3;

2)修改语句

语法

1.修改单表的记录
update 表名
set 列=新值,列=新值,…
where;
2.修改多表的记录
92语法
update 表1 别名, 表2 别名
set 列=值,列=值,…
where 连接条件
and 筛选条件;

99语法
update 表1 别名
inner/left/right join 表2 别名
on 连接条件
set 列=值,列=值,…
where 筛选条件;

3)删除语句

语法

方式1 delete
1.单表删除
delete from 表名
where 筛选条件;

2.多表删除
92语法
delete 表1的别名,表2的别名
from 表1 别名,表2 别名
where连接条件
and 筛选条件;

99语法
delete 表1的别名,表2的别名
from 表1 别名
inner/left/right join表2 别名
on 连接条件
where 筛选条件;

方式2 truncate
【只能删除整张表,不能加条件筛选】
语法
truncate table 表名;

两种语法方式pk【面试题常考】

1.delete可以加where条件,truncate不能加
2.truncate删除,效率高一丢丢
3.假如要删除表中的自增长列,如果用delete删除后,再插入数据,自增涨列的值从断点开始,
而truncate删除后,再插入数据,自增涨列的值从1开始。
4.truncate没有返回值,delete有返回值
eg:truncate——“0行受到影响”;
vs
delete——“3行受到影响”;
5.truncate删除不能回滚,delete删除可以回滚

4)案例

案例1 插入以下信息(2种方式)
Screen Shot 2020-04-27 at 4.31.28 PM.png