方式一:
delete from 表名
where
筛选条件

如果不用where则清空表数据

  1. delete from
  2. beauty
  3. where
  4. phone like '%9';

方式二:
清空表数据
truncate
语法:
truncate table 表名;
删除表
• 数据和结构都被删除
• 所有正在运行的相关事务被提交
• 所有相关索引被删除
• DROP TABLE 语句不能回滚

  1. DROP TABLE dept80; Table dropped.

多表删除:
99语法
delete 表1的别名,表2的别名
from 表1 别名
inner|left|right join
表2 别名
on
连接条件
where 筛选条件;
多表删除
案例:删除张无忌女朋友的信息

  1. DELETE b
  2. from
  3. beauty b
  4. join
  5. boys bo
  6. on
  7. b.boyfriend_id = bo.id
  8. where
  9. bo.boyName='张无忌'

案例2:
删除黄晓明及他女朋友的信息

  1. DELETE b,bo
  2. from
  3. beauty b
  4. join
  5. boys bo
  6. on
  7. b.boyfriend_id = bo.id
  8. where
  9. bo.boyName='黄晓明'

delete与truncate比较*

1.delete能用where筛选
2.truncate删除效率高一丢丢
3.假如删除的表有自增长列,
如果用delete删除后,再插入数据,自增长列的值从断点开始,
而truncate删除后,再插入数据,自增长列的值从1开始。(delete删除后有缓存数值)
4.truncate删除没有返回值,delete有返回值
5.truncate删除不能回滚,delete删除可以回滚。