sql 之数据处理
原创
©著作权归作者所有:来自51CTO博客作者ccna_zhang的原创作品,请联系作者获取转载授权,否则将追究法律责任
1:把工资大于不同仓库的所有平均工资的职工的工资减少66
use db_sqlserver2;
update 职工 set 工资=工资-66 where 工资>all(select AVG(工资) from 职工 group by 职工号)
2:利用嵌套查询修改多行多列中的数据
update 仓库 set 面积=面积+80, 城市='济南' where 面积<(select MIN(面积) from 仓库 where 城市='北京')
update 职工 set 仓库号='10' + 仓库号, 姓名='2009' + 姓名
3:利用delete和trancate删除数据表中的数据信息
delete 仓库;
trancate table 职工;
delete实际上是对表中的每一行记录执行删除操作,而数据库执行随之可能产生的所有任务(如触发器),truncate语句仅仅将所有记录一次删除,将会忽略定义的触发器,因此
执行速度比delete要快
由于truncate语句不处理删除引起的其他事件,因此使用它可能会产生数据库完整性问题,所以对于有依赖关键的表,最好使用delete删除。