删除表里的全部数据,保留表结构
TRUNCATE TABLE table_name;
或
DELETE FROM table_name;
两者区别:
- TRUNCATE 这个命令将删除表格中的所有行,并将表格的自增ID重置为1。
- DELETE 可以通过添加where条件删除指定记录,而 TRUNCATE 只能删除表中的所有数据。
- TRUNCATE 通常比 DELETE 更快,因为它只需要清空数据,而不用逐行检查和删除记录。当需要删除表中的所有数据时,建议使用 TRUNCATE。
- DELETE 是事务安全的,可以撤销。每个 DELETE 操作都会记录在日志中,以便在事务回滚时恢复数据。而 TRUNCATE 不是事务安全的,无法撤销,且不会记录在日志中。
- 当 DELETE 命令执行时,相关的触发器会被执行。而 TRUNCATE 命令不会触发任何触发器。
删除表和表结构
DROP TABLE table_name;