MySQL学习记2(删除表中记录)

删除表中数据

1. delete关键字

语法:delete from 表名称 where 删除约束条件

# 删除student表中name字段为张三的那条记录
delete from `student` where name = '张三';

# 删除student表中id字段为1001的那条记录
delete from `student` where id = '1001';

# 删除student表中age字段小于20的所有记录
delete from `student` where age < 20;

# 删除student表中所有记录
delete from `student`;	-- 不加约束条件,默认删除表中所有记录

2. truncate关键字

语法:truncate [table] 表名

# 删除student表中所有数据
truncate table `student`;	-- 方式一
delete from `student`;		-- 方式二

注:方式一和方式二实现的效果一样,方式一效率更高。

两种方式实现的效果都是清空表中的所有记录,并没有删除表结构。

3. drop关键字

语法:drop table [if exists] 表名1 [, 表名2, 表名3…]

# 删除student表
drop table `student`;

这种方式会直接删除表结构,即数据库中不再存在

4. 总结

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

  • 1、delete 和 truncate 仅仅删除表数据,drop 连表数据和表结构一起删除,打个比方,delete 是单杀,truncate 是团灭,drop 是把电脑摔了。
  • 2、delete 是 DML 语句,操作完以后如果没有不想提交事务还可以回滚,truncate 和 drop 是 DDL 语句,操作完马上生效,不能回滚,打个比方,delete 是发微信说分手,后悔还可以撤回,truncate 和 drop 是直接扇耳光说滚,不能反悔。
  • 3、执行的速度上,drop>truncate>delete,打个比方,drop 是神舟火箭,truncate 是和谐号动车,delete 是自行车。
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值