列出以下MySql命令之间的差异。
另外根据您的经验,请告诉我每个人的典型使用方案。
答案 0 :(得分:26)
drop table tablename;
truncate table tablename;
DELETE
快,因为它只删除所有数据。 DELETE
将扫描表格以生成受影响的行数。delete from tablename;
WHERE
子句过滤要删除的行。DELETE FROM tablename WHERE username = 'joe'
答案 1 :(得分:4)
如果您只想删除行,则可以使用 DELETE
如果要从数据库中删除表,则可以使用 DROP
在删除数据之前,请充分考虑数据是否有用。因为你无法再获得那些数据。
答案 2 :(得分:3)
Drop
正在删除该表格。如果我不再需要它,我会放弃桌子delete
使用查询删除(特定行)。我很少“删除”我的数据库中的任何内容。我通常将一个标志列(例如deleted
)作为布尔值。我检查一下。如果是true
,我不会提供该数据。
答案 3 :(得分:2)
除了上面的答案之外,在Oracle RDBMS上,“删除”是一个可以在未提交时回滚的事务。 “截断”不能。
答案 4 :(得分:2)
删除强>
<强>截断强>
下拉强>