删除语句
/*
方式一:delete
语法:
delete from 表名
where 筛选条件; -- 删除的是整行
delete from 表名; -- 整个表都删了
1.单表的删除
delete from 表名
where 筛选条件; -- 删除的是整行
2.多表的删除
sql192:
delete 表1别名 (删哪个就写谁的别名,如果都删那么都写)
from 表1 别名 ,表2 别名
where 连接条件
and 筛选条件;
sql199:
delete 表1别名 (删哪个就写谁的别名,如果都删那么都写)
FROM 表1 别名
inner|left|right join 表2 别名
on 连接条件
where 筛选条件;
方式二:truncate
语法:truncate table 表名; --整个表都删了
不能加where
*/
方式一:delete
1.单表的删除
案例1:删除手机号以9结尾的女神信息
DELETE FROM beauty
WHERE phone LIKE '%9';
2.多表的删除
案例1:删除张无忌的女朋友的信息
DELETE b
FROM beauty b
INNER JOIN boys bo
ON b.boyfriend_id=bo.id
WHERE bo.boyName='张无忌';
案例2:删除黄晓明的信息以及他女朋友的信息
DELETE b,bo
FROM beauty b
INNER JOIN boys bo
ON b.boyfriend_id=bo.id
WHERE bo.boyName='黄晓';
方式一:truncate语句:不允许有where
案例 将魅力值>100的男神信息删除
TRUNCATE TABLE boys; -- 清空数据。删除表中所有数据,效率高
DELETE pk TRUNCATE 【面试题】
-- 1.delete可以加where条件, 不能加
-- 2.truncate删除,效率高一点
-- 3.假如要删除的表中有子增长列,如果用delete删除后再插入数据,自增长列的值从断点开始,而truncate删除后再插入数据,自增长列的值从1开始。
-- 4.truncate删除没有返回值,delete有返回值
-- 5.truncate删除不能回滚,delete删除可以回滚。
网友评论