在数据库中的删除操作中,最常用的是删除整表(drop)和删除表格中不符合条件的记录(delete)
1、删除表格t1中不符合条件的记录
删除 表格1中的columnName和表格2的columnName不相同的部分记录(行)
DELETE FROM tableName1
WHERE columnName not in (SELECT pp.columnName FROM tableName2 as pp)
2、删除表格1
DROP TABLE tableName1
3、删除数据库
DROP DATABASE database_name
4、表格内数据,但不删除表格本身
只是清空表数据而已,不删除表结构。
虽然delete也可以实现,但是truncate效率更高
TRUNCATE TABLE tableName
truncate 与delete 比较:
truncate table 在功能上与不带 WHERE 子句的 delete语句相同:二者均删除表中的全部行。
truncate 比 delete速度快,且使用的系统和事务日志资源少。
truncate 操作后的表比Delete操作后的表要快得多。
当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能(表的结构、属性和索引都是完整的)。
参考:
[1] http://www.runoob.com/sql/sql-delete.html
[2] https://jingyan.baidu.com/article/8275fc8693e11846a03cf696.html