sql中delete*from和deletefrom有什么区别?

我记得有一次,我手头有一个数据库项目,我需要清理用户表中的数据。
因为数据量不大,想快点运行,所以不小心输入了“DELETEFROM users”,以为反正会把数据全部删除,不输入列名也没关系。
结果一旦执行,整个表的所有数据都丢失了,包括历史数据。
我愣了一下,突然意识到,虽然“DELETEFROM”和“DELETEFROM”的语法看似相同,但实际上它们的写法有细微的差别。
虽然前者可以省略列名,但使用星号等通配符确实有点多余。
等等,还有一件事。
我突然想到,如果是在大型数据库或者有重要数据的表中,这样的操作会带来很大的麻烦。
毕竟数据恢复并不像擦除操作那么简单。

sql 中 delete from where 用法_sql 中 delete from where 条件删除指南

哎,说实话,我在做数据库管理的时候,因为一次意外,差点把整个表的数据都删除了。
那是2 01 8 年的时候,我们公司的一个项目,我负责维护一张用户信息表。
那天,我需要清理一批很久没有登录的用户数据,于是我写了一条 DELETE FROM users WHERE last_login < '2 01 8 -01 -01 ' 语句,以为这次不会有问题了。

结果,我忘记了一个细节,就是我没有检查这个表中是否还有其他字段可能包含日期“2 01 8 -01 -01 ”。
我不小心执行了删除,然后整个表都空了。
那可是一千多条用户信息啊! 我很快检查了一下,发现日期存储在一个字段中,而我删除的条件恰好与该字段匹配。

从那时起,每次执行DELETE操作之前,我都会花时间检查WHERE条件,以确保没有遗漏或错误。
而且,我还学会了在删除数据之前先进行备份,这样如果出现问题,我可以及时恢复。
这次事件让我深刻认识到,SQL中的DELETE操作看似简单,但一旦出错,后果可大可小。
所以,朋友们,在做数据库管理的时候一定要小心!