菜鸟的学习日记总结(六)基础删除

本文探讨了数据库操作中的删除功能,包括单条数据删除与批量数据删除的方法及注意事项,强调了数据一致性和安全性的重要性。

删除是增删查改当中最后一个内容,删除的方式分为两种,一种是单条数据的删除,一种是多条数据的批量删除。其中单条数据的删除最简单,可以直接将获取到数据进行删除,但每次只能删除一条数据,且为了确保删除的数据下不会出现废数据,都会在删除数据之前判断该条数据的下面是都含有其他数据,如果有就不能让它删除。在练习中因为需要删除的数据较少,且下面没有其他链接的表所以在删除时不需要判读它下面是否含有其他数据只需要按照从下到上的顺序进行删除即可,即和新增的顺序相反。因为新增的顺序为用户表用户角色明细表员工表,所以删除的顺序为员工表用户角色明细表用户表。
先把页面获取到的ID传递到控制器,然后进行删除。
在这里插入图片描述
(删除时一定要记得把从页面选中的数据的ID传递到控制器,不然控制器获取不到需要删除的内容)
控制器获取到需要删除数据的员工ID后就可以通过员工ID查询出该员工在员工表的信息,然后再将查询出来的信息进行删除,这样就能把该员工的数据从员工表上删除。
在这里插入图片描述
同理可以通过获取到的用户ID把该员工的数据从用户角色明细表和用户表删除,把用户角色明细表和用户表的数据删除后就已经把该员工的数据全都删除了,数据库中已经没有该员工的数据存在了。和单条数据删除相比批量数据的删除的难度就有所提升了,想要完成批量数据的删除首先需要在页面将所选中的所有数据的ID通过拼接字符串的方式将其拼接起来。需要注意的是为了防止控制器对拼接好的ID进行分割是会出现空数据,在页面把数据传递过控制器之前需要把拼接的字符串的最后一个符号给去掉。
在这里插入图片描述
把字符串最后一个符号移除后就可以把数据传递到控制器中让它对其进行分割,需要注意 批量数据的删除需要声明两个用于记录删除成功与失败数据条数的变量,以便最后返回时 时数据的拼接。
在这里插入图片描述
除了注意需要声明两个记录数据条数的变量还要注意将分割出来的ID从string类转化为int类型,如果不将string类型的数据转化为int类型那么传递进去的将是一个个字符串。
在这里插入图片描述
将传递过来的字符串都分割,并都转化为int类型的数据后就可以按照从下到上的删除顺序将数据进行删除了。和单条数据的删除一样,都是先通过员工的ID查询出员工表的信息然后对其进行删除,然后再获取到员工的UserID分别将用户角色明细表的数据和用户表的数据进行删除,删除后再将拼接好的内容返回到内容即可。
在这里插入图片描述
在练习中因为删除的是员工数据且数据较少所以在删除时并不需要对其进行判断,如果删除的是部门表中的某一个部门或者职位表中的某一个职位就需要对其进行判断,判断它下面有没有其他数据,如果有就不能让它删除,如要删除一个部门,但这个部门下面还有许多员工,如果直接将这个部门删除了,那么这个部门下的员工该怎么办?所以在删除某些数据时需要对其进行一次判断。单条数据的删除虽然没有批量那么方便但它的准确度要比批量删除高,而批量删除则相反,虽然可以同时删除多条数据但有的时候在不经意间可以会误删一些数据。但具体的使用需要看需求,最好是两个都有。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值