原标题:MySQL删除或清空表中数据的方法
要想把MySQL中的数据删除或清空,可以通过两种方法来实现:DELETE语句和TRUNCATE TABLE语句。
DELETE语句可以将表中所有记录都删除,也可以指定WHERE子句,对要删除的记录进行选择;而TRUNCATE TABLE是删除表中的所有行,也就是说将删除表中的所有记录。
很明显,DELETE语句更灵活一些。
如果要清空MySQL表中所有数据,可使用下面两种方法:
DELETE FROM table_name
TRUNCATE TABLE table_name
注:“table_name”指的是要截断的表的名称或要删除其全部行的表的名称。
上面两个语句都可以清空MySQL表中数据,区别就在于DELETE可以通过WHERE语句选择要删除的记录,而且可以返回被删除的记录数,但执行速度不快;
而TRUNCATE无法删除指定的记录,而且不能返回被删除的记录。
所以,要想删除MySQL数据中指定的记录时,就只能用DELETE指定WHERE子句来实现了,语句如下:
DELETE FROM table_name WHERE name_id=3;
注:“table_name”指的是要截断的表的名称或要删除其全部行的表的名称;“name_id=3”指的是指定的具体的记录。
另外MySQL的DELETE语句支持ORDER BY和LIMIT子句,这两个子句可以更好地控制要删除的记录,比如我们只想删除WHERE子句过滤出来的记录的一部分,就可以LIMIT来实现;如果想删除后几条记录,可以通过ORDER BY和LIMIT配合使用。
LIMIT子句用法:DELETE FROM table_name WHERE name = ‘N’ LIMIT 6;
上面的例子表示删除table_name表中name等于“N”的前6条记录,但一般MySQL并不确定删除的这6条记录是哪6条,所以为了保险可以使用ORDER BY对记录进行排序:
ORDER BY和LIMIT配合用法:DELETE FROM table_name WHERE name = ‘N’ ORDER BY id DESC LIMIT 6;
(源自:美国主机-BlueHost)返回搜狐,查看更多
责任编辑: