前面我们学习了SQL中查询数据的一些基础,它们都属于DQL语言,即数据查询语言;接下来我们将学习DML语言,即数据操作语言,主要包含:
# 方式一:经典的插入
insert into 表名(字段名,...) values(值,...);
# 插入多行
insert into 表名(字段名,...) values(值,...),(值,...),...;
# 方式二
insert into 表名 set 字段=值,字段=值,...;
INSERT INTO customers ( cust_id, cust_name )
SELECT 1211111121,‘1211111121‘;
是否支持插入多行 | 是否支持子查询 | |
---|---|---|
方式一 | YES | YES |
方式二 | NO | NO |
update 表名 set 字段=值,字段=值 【where 筛选条件】;
# sql92语法
update 表1 别名,表2 别名
set 列=值,...
where 连接条件
and 筛选条件;
# sql99语法
update 表1 别名
left|right|inner join 表2 别名
on 连接条件
set 字段=值,字段=值,...
【where 筛选条件】;
UPDATE boys bo
RIGHT JOIN beauty b
ON bo.id = b.boyfriend_id
SET b.boyfriend_id = 2
WHERE b.id IS NULL;
语法:
delete from 表名 【where 筛选条件】【limit 条目数】
案例:
DELETE FROM beauty WHERE phone LIKE ‘%9‘;
语法:
#sql92
delete 表1的别名,表2的别名#总之,这里写要删数据的表的别名
from 表1 别名,表2 别名
where 连接条件
and 筛选条件;
#sql99
delete 表1的别名,表2的别名#总之,这里写要删数据的表的别名
from 表1 别名
inner|left|right join 表2 别名
on 连接条件
where 筛选条件;
案例:
DELETE b
FROM beauty b
INNER JOIN boys bo
ON b.boyfriend_id = bo.id
WHERE bo.boyName = ‘张无忌‘;
语法:
#整表删除
truncate table 表名;
可否加where | 效率 | 删除后再插入数据自增长列的值起始值 | 是否有返回值 | 可否回滚 | |
---|---|---|---|---|---|
delete | YES | 低一点 | 从断点开始 | 有 | 可以 |
truncate | NO | 高一点 | 从1开始 | 无 | 不能 |
原文:https://www.cnblogs.com/sanmujun/p/12650692.html