方式一:
delete from 表名
where
筛选条件
如果不用where则清空表数据
delete from
beauty
where
phone like '%9';
方式二:
清空表数据
truncate
语法:
truncate table 表名;
删除表
• 数据和结构都被删除
• 所有正在运行的相关事务被提交
• 所有相关索引被删除
• DROP TABLE 语句不能回滚
DROP TABLE dept80; Table dropped.
多表删除:
99语法
delete 表1的别名,表2的别名
from 表1 别名
inner|left|right join
表2 别名
on
连接条件
where 筛选条件;
多表删除
案例:删除张无忌女朋友的信息
DELETE b
from
beauty b
join
boys bo
on
b.boyfriend_id = bo.id
where
bo.boyName='张无忌'
案例2:
删除黄晓明及他女朋友的信息
DELETE b,bo
from
beauty b
join
boys bo
on
b.boyfriend_id = bo.id
where
bo.boyName='黄晓明'
delete与truncate比较*
1.delete能用where筛选
2.truncate删除效率高一丢丢
3.假如删除的表有自增长列,
如果用delete删除后,再插入数据,自增长列的值从断点开始,
而truncate删除后,再插入数据,自增长列的值从1开始。(delete删除后有缓存数值)
4.truncate删除没有返回值,delete有返回值
5.truncate删除不能回滚,delete删除可以回滚。