delete 会不会锁表_【sql】drop,truncate,delete

fb5f20e319ca7307c2e9747d2ec89fa7.png

春风得意

春风十里,不及相遇有你❤️

晴空万里,不及心中有你❤️

21fa2c51d2dd6eba0df6692b920744fb.png

春天来了

美好的事都将如期而至

愿世界平安

你我无恙

???

so,让我们继续刷题吧

drop,truncate,delete

先养眼,再刷题

❤️

今天还是好看的小姐姐

da5380d3a5a6fd6ff1d5ea57e3bef467.png

0

Question

Iet me see see

这次我们的话题可能有点紧张沉重

因为涉及到了删库跑路的环节

在面试中,有时候面试官可能会问

drop,truncate,delete的区别

我们的脑海中可能就是一个删除的操作

具体有什么区别,可能比较头大

这次我们就开始从各方面进行解析

fdd56f15565ed34d58eafadbc212c4e3.png

1

Answer

Iet me see see

truncate:删除表的数据,但是表结构不变,比如id自增从1开始

delete:直接删除表中的所有数据

drop:直接删除掉表

d27463d3448c6294ec9bfa8cae74a1a0.gif

相同点:

truncate和不带where的delete,以及drop都会删除表中的所有数据。

droptruncate都是DDL(数据定义语言)执行后会自动提交 

不同点:

truncatedelete只删除表的数据,不删除表的结构。

drop:删除表的结构,依赖约束,触发器,索引;

并且表的存储过程和函数保留,但变为invalid状态。 

62c776c9be72aac2826396659ea28d44.png d27463d3448c6294ec9bfa8cae74a1a0.gif

delete是数据库操作语言(dml),这个操作会放到rollback segement中,事务提交后才会生效,如果有响应的trigger,执行的时候才触发。

truncate,drop是数据库定义语言(ddl),操作立即生效,原数据不放到rollback segment中,不能回滚,操作不触发trigger。 

d27463d3448c6294ec9bfa8cae74a1a0.gif

表和索引所占空间:

当表被truncate后,这个表和索引所占空间会恢复到初始大小。

delete后:不会减少表和索引所占空间的大小

drop:将表所占用的空间全部释放掉。 

d27463d3448c6294ec9bfa8cae74a1a0.gif

速度:一般来说

drop>truncate>delete

d27463d3448c6294ec9bfa8cae74a1a0.gif

安全性:

慎用droptruncate,尤其是没有备份的情况下!

在使用中,想删除部分数据要加上where子句,并且回滚段要足够大。

想删除表直接drop

想保留表同时删除数据,如果和事务没有关系就直接truncate。如果和事务有关,或者想出发trigger,还是delete。 

d27463d3448c6294ec9bfa8cae74a1a0.gif

这次的问题

主要是说关于数据库删除操作

大家在操作中一定要谨慎谨慎再谨慎!

如果小伙伴还有其他的想法或问题也欢迎在评论区留言

让我们一起成长为老鸟,赚大钱!

d27463d3448c6294ec9bfa8cae74a1a0.gif

最后小编的小手手上图

47e8c310a67fff015f8c3f8cfbbb1dc5.png d5fd14c68396e7897c14c9d7d4cfaace.gif 1264480d8b38c4b1957ec72c158f529d.png af1cc6a1710f21481af9d2cd862c7207.png

扫码关注我

郭大熊的公众号

个人博客 : www.guodaxiong.com

如果不曾见过阳光,我本可以忍受黑暗

 Hi GuoDaXiong 

我是狗子

祝你幸福

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值