(1).删除表数据的速度比较
drop> truncate > delete
(2).语法
DELETE FROM 表名称 WHERE 列名称 = 值
DELETE FROM mytable WHERE Name = ‘Wilson’
(3).删除所有行
可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的:
DELETE FROM table_name
DELETE * FROM table_name
mysql中删除表记录delete from和truncate table的用法区别:
MySQL中有两种删除表中记录的方法:
1)delete from语句,
2)truncate table语句。
3)delete from语句可以使用where对要删除的记录进行选择。delete语句更灵活。
4)truncate table将删除表中的所有记录。
5)delete是DML语句,不会自动提交。drop/truncate都是DDL语句,执行后会自动
6)DROP用于删除表,数据库等.
7)TRUNCATE和DELETE都是删除表数据. 但是TRUNCATE相当于初始化,比如如果有自增长ID,用TRUNCATE删除后,自增长Id会从1开始,(truncat会释放表所占的空间) 而delete则不会.
(4).删除第一行
delete from students2 limit 1
(5).多表
被删除的表不能出现在查询子句的子查询中;
Low_priority表示删除语句需要等待其他链接的读此表操作结束后再执行,只作用于MyISAM,MEMORY和MERGE存储引擎
Quick是在使用MyISAM存储引擎时,删除操作不会合并删除表的索引端节点,这样会在一定程度上加快删除的速度
Ignore代表会忽略删除过程中的一些错误
order by子句决定了删除数据的顺序,配合limit子句后在某些情况下非常有用
最新评论