方式一:delete

  • 单表删除

    1. delete from 表名 where 筛选条件
  • 多表删除

    92语法

delete 表一的别名,表二的别名
from 表一 别名,表二 别名
where 连接条件 and 筛选条件

举例:删除张无忌女朋友

  1. # 删除一个表中的数据,就在delete 后面加别名
  2. delete be
  3. from boys b ,beauty be
  4. where b.id = be.boyfriend_id and b.boyName = "张无忌";

sql 99 语法

  1. delete 表一 别名,表二 别名
  2. from 表一 别名
  3. left |right | inner join 表二 别名 on 连接条件
  4. where 筛选条件

举例

  1. delete be,b
  2. from beauty be inner join boys b on be.boyfriend_id = b.id
  3. where b.id = 4

方式二:truncate

  1. truncate table 表名;

两者区别

  1. delete 加where,truncate不加where
  2. truncate效率高一点点
  3. truncate 时,自增id会重置
  4. truncate删除没有返回值,delete 有返回值
  5. truncate 无法回滚 delete 可以回滚