SQL语句之数据更新(删除数据)

《SQL语句之数据更新(删除数据)》

1、不在需要的数据,就要执行删除操作,删除语法如下:

DELETE FROM 表名称 [ WHERE 删除条件(s) ] ;

其中,WHERE子句里面,依然可以使用子查询进行操作。

范例:删除雇员编号是7566的雇员信息

DELETE FROM myemp WHERE empno=7566 ;

《SQL语句之数据更新(删除数据)》
《SQL语句之数据更新(删除数据)》

范例:删除雇员编号是7788、7902的雇员信息

DELETE FROM myemp WHERE empno=7788 OR empno=7902 ;

DELETE FROM myemp WHERE empno IN(7788, 7902) ;

《SQL语句之数据更新(删除数据)》
《SQL语句之数据更新(删除数据)》
《SQL语句之数据更新(删除数据)》

注意:用了rollback回退操作!所以7566的数据还存在

范例:删除高于公司平均工资的雇员信息

DELETE FROM myemp WHERE sal>(SELECT AVG(sal) FROM myemp)

《SQL语句之数据更新(删除数据)》
《SQL语句之数据更新(删除数据)》

范例:删除全部记录

DELETE FROM myemp ;

《SQL语句之数据更新(删除数据)》
《SQL语句之数据更新(删除数据)》

一定要记住,在任何的系统之中,删除操作都属于极其危险的操作。实际上,一个稳定的系统,对于删除操作,都是具备一个逻辑删除和物理删除的两种方式:

◆ 物理删除:直接执行DELETE FROM,彻底从表中删除记录。

◆ 逻辑删除:增加一个逻辑的字段,例如:有一个flag字段,如果flag=1表示已经被删除,如果flag=0表示没有被删除。

如果真执行的是删除操作,那么,就相当于修改了flag字段的内容,同时在每次查询的时候,只需要增加一个WHERE限定条件(SELECT * FROM … WHERE flag=1)。

【总结】

1、 更新操作,要比查询操作,更加的简单(语法都固定)。

2、 所有的更新操作,每次更新完成之后,都一定会返回更新的数据行数,如果没有更新,则返回0。

《SQL语句之数据更新(删除数据)》

    原文作者:发觉原来我只是250
    原文地址: https://www.jianshu.com/p/fc7f5f69b85a
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞