DML语言(数据操作语言)
插入:insert
修改:update
删除:delete
一、插入
(1)方法一经典插入
insert into 表名(列名,…)value (值1,…);
1.插入的值的类型要与列的类型一致或兼容
2.不可以为null的列必须插入值,可以为null的可插入null或不插入
3.列的顺序可以调换
4.列数和值的个数必须一致
5.可以省略列名,默认所有列
(2)方法二
insert into 表名 set 列名=值,列名=值,…
INSERT INTO beauty
SET id =19 ,NAME=‘abc’,phone=‘999’
(3)
1.方法一支持插入多行,方法二不支持
INSERT INTO beauty
VALUE
(23,‘sd’,‘女’,‘1992-3-22’,‘123324’,NULL,2),
(24,‘sfd’,‘女’,‘1922-3-22’,‘1233224’,NULL,2)
2.方法一支持子查询,方法二不支持
INSERT INTO beauty
(id
,name
,phone
) SELECT 25,‘sfd’,‘1233224’
二、修改
1.修改单表的记录
update 表名 set 列=新值,列=新值,… where 筛选条件;
2.修改多表的记录
sql92语法:
update 表1 别名,表2 别名
set 列=值
where 连接条件
and 筛选条件;
sql99语法:
update 表1 别名
inner | left | right join 表2 别名
on 连接条件
set 列 = 值
where 筛选条件;
(1)修改单表的记录
UPDATE beauty
SET phone
= ‘12332425’ WHERE name
LIKE ‘周%’;
(2)修改多表的记录
UPDATE boys
bo
INNER JOIN beauty
b ON bo.id
=b.boyfriend_id
SET b.phone
= ‘213’
WHERE bo.boyName
LIKE ‘张%’;
三、删除
方法一:delete
1.单表的删除
delete from 表名 where 筛选条件;
delete from 表名;
2.多表的删除
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 表名;
方法一:delete
(1)单表的删除
DELETE FROM beauty
WHERE phone
LIKE ‘%4’
(2)多表
方法二:truncate (清空)
TRUNCATE TABLE boys
;
对比
- delete 可以加where条件,truncate不能
- truncate 删除,效率更高一点
- 删除的表中有自增长列
truncate 删除再插入,值从1开始 delete删除再插入,值从断点开始 - truncate 删除无返回值 delete删除有返回值
- truncate 删除不能回滚 delete删除可以回滚