物理删除和逻辑删除

物理删除和逻辑删除


以前一直就以为数据库中的删除就是指delete语句(纯小白的认知),现在知道数据库中的删除主要有物理删除和逻辑删除,物理删除是从数据表中真的将记录剔除掉,不会再保留,无法再查询到,也就是通过delete语句删除。而逻辑删除并不会真的从表中剔除数据,而是使用一个标记字段,进行逻辑删除时只需更新这个标记字段的值就行了,查询时附带这个字段值作为限制就可以达到删除的目的。

1、物理删除

在这里插入图片描述

delete from people where id = 13;

执行后的表:
在这里插入图片描述
直接从表中删除记录,再查询的话就查不出来了,如果是很重要的数据,很显然这种删除方式是很危险的,因为数据找不回来,于是就有了逻辑删除。

2、逻辑删除

逻辑删除并不会真的从表中删除记录,而是更新标记字段的值,查询时结合这个字段来进行查询,来起到过滤数据的作用,就像真的删除了一样。

增加一个删除标记字段is_del,如下:
在这里插入图片描述
默认值为0,也就是正常。
在这里插入图片描述
逻辑删除时,将is_del字段值更新为1即代表删除,如下:

update people set is_del = 1 where id = 9

然后查询的时候使用is_del来进行数据的过滤:

select * from people where is_del = 0;

查询结果:
在这里插入图片描述
刚才进行逻辑删除的记录过滤掉了,但是记录还是存在表中的,逻辑删除的最大缺点就是会冗余大量的数据记录,会占用大量的磁盘空间,而好处是保留重要数据的安全性,可以说有利有弊,看怎么选。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值