Mysql数据删除操作

SQL 的 DELETE FROM 命令用来删除 MySQL 数据表中的记录。
语法

DELETE FROM <表名> 
[WHERE 删除条件] 
[ORDER BY 删除顺序]
 [LIMIT 被删除行的最大值]

拓展:
TRUNCATE:清空表记录

TRUNCATE [TABLE] 表名;

删除MySQL数据表

DROP TABLE [TABLE] 表名;

delete、drop、truncate都有删除表的作用,区别在于:

  • delete是逐行一条一条删除记录的;truncate 则是直接删除原来的表,再重新创建一个一模一样的新表,执行数据比 delete快。

  • delete 删除数据后,系统不会重新设置自增字段的计数器;truncate 清空表记录后,系统会重新设置自增字段的计数器。

  • delete的使用范围更广,因为它可以通过 WHERE 子句指定条件来删除部分数据;而 truncate 不支持 WHERE 子句,只能删除整体。

  • delete会返回删除数据的行数,但是 truncate 只会返回 0,没有任何意义。

  • delete和 truncate 仅仅删除表数据,drop 连表数据和表结构一起删除。

  • delete是 DML 语句,操作完以后如果不想提交事务还可以回滚; truncate 和 drop 是 DDL 语句,操作完马上生效,不能回滚;

  • 执行的速度上,drop>truncate>delete。

总结:
1.需要删除表中全部的数据行时,尽量使用 truncate 语句, 可以缩短执行时间。
2. 不需要该表时,用 drop;当要删除全部数据且保留该表时,用 truncate ;当要删除部分记录时,用 delete。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序螺丝钉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值