列出以下 MySql 命令之间的区别。
drop table tablename;
truncate table tablename;
delete from tablename where 1;
请根据您的经验,告诉我每个命令的典型用法场景。
drop table tablename;
truncate table tablename;
DELETE
相比,它更快,因为它仅删除所有数据。DELETE
将扫描表以生成受影响行数的计数。delete from tablename;
WHERE
子句筛选要删除的行。DELETE FROM tablename WHERE username = 'joe'
Drop
是删除表的意思。如果我不再需要这个表,我会使用drop语句来删除它。delete
来执行带查询条件的删除(特定行)。我很少从数据库中“删除”任何内容。通常我会添加一个标志列,例如deleted
,作为布尔值。我检查该值。如果为true
,我就不显示该数据。
如果您只想删除行,则可以使用 DELETE
如果您想从数据库中删除表,则可以使用 DROP
在删除数据之前,请仔细考虑数据是否有用。因为您无法再次获取那些数据。
删除
截断
删除