1. runoob_id runoob_title runoob_author
  2. --------- ------------ ---------------
  3. 1 php baidu.com
  4. 2 PHP baidu.com
  5. 3 Java qq.com
  6. 4 Python qq.com
  7. 5 C qq,com
  8. 6 JavaScript csdn.com
  9. 7 SQL baidu.com
  10. 8 R weixin.com
  11. 9 Objective-C qq.com
  1. DELETE FROM table_name [WHERE Clause]

1.按数据删除

  1. DELETE FROM `runoob` WHERE `runoob_id`=9
  1. runoob_id runoob_title runoob_author
  2. --------- ------------ ---------------
  3. 1 php baidu.com
  4. 2 PHP baidu.com
  5. 3 Java qq.com
  6. 4 Python qq.com
  7. 5 C qq,com
  8. 6 JavaScript csdn.com
  9. 7 SQL baidu.com
  10. 8 R weixin.com

2.按行删除

  1. DELETE FROM table_name
  2. [ORDER BY c1, c2, ...]
  3. LIMIT row_count;
  1. DELETE FROM `runoob`
  2. ORDER BY `runoob_author`
  3. LIMIT 3
  1. runoob_id runoob_title runoob_author
  2. --------- ------------ ---------------
  3. 3 Java qq.com
  4. 4 Python qq.com
  5. 6 JavaScript csdn.com
  6. 7 SQL baidu.com
  7. 8 R weixin.com
  8. 9 Objective-C qq.com

3.删除全部数据

  1. -- truncate table用于清空一张表
  2. -- truncate table等价于drop table + re-create table两个操作,因此它是DDL语句而非DML语句,也因此 需要表的drop权限,且速度比delete表中所有速度要快的多的多,特别是表比较大的时候。
  3. -- 如果表上有其他锁的存在,则truncate table会失败。
  4. -- 如果表上有外键引用,则truncate table会失败。
  5. -- 如果表上有触发器,则truncate table不会触发任何触发器。因为MariaDB/MySQL不支持DDL触发器。
  6. truncate table
  1. TRUNCATE `runoob_backup`
  1. runoob_id runoob_title runoob_author
  2. --------- ------------ ---------------