MySQL数据删除语句
DELETE语句:
delete from 表名 [where <删除条件>] ;
如果删除的行的主键值被其他表引用,那么删除被引用的行时,将报告与约束冲突的错误信息。
DELETE语句只要删除就是删除整行记录,不会只删除单个列,所以在DELETE后不能出现列名称。
TRUNCATE TABLE语句:
语法:TRUNCATE TABLE 表名
TRUNCATE TABLE 用来删除表中的所有行,功能上它类似于没有WHERE子句的DELETE的语句。但是TRUNCATE TABLE比DELETE执行速度快,使用的系统资源和事务日志资源更少,并且删除数据后表的标识列会重新开始编号。
提示:
TRUNCATE TABLE 用来删除表中的所有行,表的结构、列、约束、索引等不会被改动。TRUNCATE TABLE 不能用于有外键约束引用的表,这种情况下,就需要使用DELETE语句。
在实际工作中,不建议使用TRUNCATE TABLE语句,因为使用它删除的数据不能恢复还原。