DML语言(Data Manipulation Language)
插入
1. 语法
方式一:
insert into 表名(字段名,...) values(值,...)
特点:
- 要求值的类型和字段的类型要一致或兼容
- 字段的个数和顺序不一定与原始表中的字段个数和顺序一致,但必须保证值和字段一一对应
- 加入表中有可以为null的字段,可以通过字段和值都省略或值赋为null的方式插入null值
- 字段和值的个数必须一致
- 字段名可以省略,默认所有列
方式二:
insert into 表名 set 字段=值,字段=值,...;
区别:
-
方式一支持一次插入多行,如下:
insert into 表名【(字段名,...)】 values(值,...)(值,...),...;
-
方式一支持子查询,如下:
insert into 表名
查询语句;
修改
1. 修改单表的记录
语法:update 表名 set 字段=值,字段=值【where 筛选条件】;
2. 修改多表的记录
语法:
update 表1 别名
left|right|inner join 表2 别名
on 连接条件
set 字段=值,字段=值
【where 筛选条件】;
删除
1. 使用delete
-
删除单表的记录
语法:delete from 表名【where 筛选条件】【limit 条目数】
-
删除多表的记录
语法:delete 别名1,别名2 from 表1 别名1
left|right|inner join 表2 别名2
on 连接条件
【where 筛选条件】;
2. 使用truncate
语法:truncate table 表名
3. 两种方式的区别
-
delete删除后再插入数据,标识列从断点开始
truncate删除后再插入数据,标识列从1开始
-
delete可以添加筛选条件
truncate不可以添加筛选条件
-
delete效率较于truncate低
-
delete可以返回受影响的行数
truncate没有返回值
-
delete可以回滚
truncate不能回滚