SQL中的逻辑删除和物理删除

在实际开发中基本都会有删除数据的需求,删除又分为逻辑删除和物理删除。下面说下二者的区别:

    一、所谓的逻辑删除其实并不是真正的删除,而是在表中将对应的是否删除标识(is_del)或者说是状态字段(status)做修改操作。比如0是删除,1是未删除。在逻辑上数据是被删除的,但数据本身依然存在库中。

对应的sql语句一般是这样的:update... set status/is_del=...

这样在做查询操作的时候,就可根据此字段进行查询,有删除标识的即可不显示。

    二、物理删除就是真正的从数据库中做删除操作了,对应的sql语句为 delete ... where ...做物理删除操作的数据将会不在库中了。

猜你喜欢

转载自blog.csdn.net/Anthony_1223/article/details/80474271