一、DML
1. 插入语句
方式一经典插入语法:
INSERT INTO 表名(列名,......)
VALUES (值1,......);
#多行插入
#第一种
INSERT INTO 表名
VALUES (值1,......),(值1,......)......;
#第二种
INSERT INTO 表名
SELECT 值1,...... UNION
SELECT 值1,...... UNION
......
SELECT 值1,......;
1. 插入的值类型要与列类型一直或兼容、
2. 不能为 null 的列必须插入值,可以为 null 的列有两种方式插入值
方式1:
INSERT INTO beauty(id,name,sex)
VALUES (1,'张三',NULL);
方式2:
INSERT INTO beauty(id,name)
VALUES (1,'张三');
3. 列的顺序可以调换
4. 列数和值的个数必须一致
5. 可以省略列名,默认所有列,列的顺序和表中顺序一致,所有字段必须插入值
方式二语法:
INSERT INTO 表名
SET 列名=值,列名=值......;
#例:
INSERT INTO beauty(id,name,phone)
SELECT 26,'宋茜','123456';
方式一支持插入多行,方式二不行
方式一支持子查询,方式二不行
2. 修改语句
#1. 修改单表记录语法:
update 表名
set 列=新值,列=新值......
where 筛选条件;
#2.修改多表记录语法:
#sql92
update 表1 别名,表2 别名
set 列=值,......
where 连接条件
and 筛选条件;
#sql99
update 表1 别名
inner|left|right join 表2 别名
on 连接条件
set 列=值,......
where 筛选条件;
3. 删除语句
#方式一语法:delete
单表删除
delete from 表名
[where 筛选条件]
[limit 条目数];
(没有筛选条件删除整个表,有则删除满足条件的行)
#多表删除
#sql92
delete 表1别名[,表2别名]
from 表1 别名,表2 别名
where 连接条件
and 筛选条件;
#sql99
delete 表1别名[,表2别名]
from 表1 别名
inner|left|right join 表2 别名
on 连接条件
where 筛选条件;
#方式二语法:truncate
truncate table 表名;(删除整个表)
特点:
1.delete 可以加 where 条件,trun