文章目录
一、DML语言基本概念
data manipulation language,数据操作语言。
涉及操作有:
插入:insert
修改:update
删除:delete
二、DML语言具体使用
2.1 插入语句
2.1.1 第一种插入语句
1、语法
insert into 表名(列名,....) values(值1,.....);
2、 实例
(1)
(2)
(3)
(4)
(5)
2.1.2 第二种插入语句
1、语法
insert into 表名 set 列名=值,列名=值.....;
2、 实例
2.1.3 两种插入语句的比较
1、方式一支持插入多行,方式二不支持
2、方式一支持子查询,方式二不支持
相当于把查询的结果集插入到原来的表中。
另一个例子:
相当于把boys表中id<3的,对应id,boyname,phone=1234567的行插入beauty表中。
再来一个,插入多行数据:
2.2 修改语句
2.2.1 修改单表的记录
1、语法
update 表名 set 列名=新值,列名=新值..... where 筛选条件;
2、 实例
(1)
(2)
2.2.2 修改多表的记录(补充)
1、语法
sql92语法(只支持内连):
update 表1 别名,表2 别名
set 列=值,.....
where 连接条件
and 筛选条件;
sql99语法:
update 表1 别名
inner/left/right join 表2 别名
on 连接条件
set 列=值,.....
where 筛选条件;
2、 实例
(1)
(2)
2.3 删除语句
2.3.1 第一种删除语句
1、语法
(1)单表删除
delete from 表名 where 筛选条件;
删除以行为单位。
(2)多表删除
sql92语法(只支持内连):
delete 表1的别名,表2的别名
from 表1 别名,表2 别名
where 连接条件
and 筛选条件;
sql99语法:
delete 表1的别名,表2的别名
from 表1 别名
inner/left/right join 表2 别名
on 连接条件
where 筛选条件;
2、 实例
(1)
(2)
(3)
2.3.2 第二种删除语句(清空数据)
1、语法
truncate table 表名;
删除以表为单位。
2、 实例
(1)
2.3.3 两种删除语句的比较
1、delete可以加where条件,truncate不可以。
2、truncate效率稍高。
3、若要删除的表中有自增长列,用delete删除后,再插入数据,自增长列的值从断点开始;用truncate的话,再插入数据,自增长列的值从1开始。
① 之前的表有5项,用delete删除,再插入:
效果:
② 同上,用truncate删除,再插入:
效果:
4、truncate删除没有返回值,delete有。
5、truncate删除不能回滚,delete可以。