• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >数据库其它 > 也许是被忽略的update语句(update技巧)

也许是被忽略的update语句(update技巧)

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了update语句,mysql update语句,sql update语句,oracle update语句,update语句怎么写等相关知识,希望本文的分享对您有所帮助

呵呵,园里的兄弟我又来写简单的文章了,希望大家不吝赐教。这次要说的是sql里面的update语句。说到这里,肯定会有很多兄弟不满意了,不就是update语句吗?谁不会写啊,update table set column=expression [where search_condition 啊。

但真的update语句就仅仅这样吗?它的精髓它的原理是什么呢?我们通过例子来说明:
假设有一张成绩表,只有两个字段,姓名和成绩。怎样用一个sql语句查询出某个学生的姓名,成绩以及在表中的排名?
呵呵,这个问题是上次我发过的,详情见 http://www.weikejianghu.com/article/53832.htm
结果可以去那里看。现在改改问题,假设这张成绩表有三个字段,姓名、成绩和排名,现在只有姓名和成绩有值,怎样将他们的排名更新上去呢?

有朋友可能会提出类似解决方案:先还是用查询语句查询出来,然后通过游标更新排名。
有没有更好的解决方案呢?当然是有的,答案就是用update语句。

update 成绩表 set 排名=(select count(*)+1 from 成绩表 where a.成绩<成绩)
from 成绩表 a

可以看到,只用一个语句就实现了。同时我们也可以发现它跟我们平常写的update语句不同,多了from。其实update语句的原理和select语句很类似,完整的update语句应该是update table set column=expression from table [where search_condition] ,可见后面的一截完全就是个查询语句。当update的table和查询的table(也就是from后面的table)完全一致的时候则可以省略,写成我们最常见的update table set column=expression [where search_condition] 。

上面仅仅是举了个例子来说明update的用法,真正在开发的时候,灵活恰当地使用update可以达到事半功倍的效果哦。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 利用带关联子查询Update语句更新数据的方法
  • update 子查询使用介绍
  • 也许是被忽略的update语句(update技巧)

相关文章

  • 2017-05-11介绍PostgreSQL中的范围类型特性
  • 2017-05-11数据库设计的完整性约束表现在哪些方面
  • 2017-05-11详解SQLite中的查询规划器
  • 2017-05-11MSSQL转MySQL数据库的实际操作记录
  • 2017-05-11海量数据库的查询优化及分页算法方案 2 之 改良SQL语句
  • 2017-05-11Sql语句求最小可用id
  • 2017-09-08使用.pgpass密码文件,通过psql登录greenplum
  • 2017-05-11Mybatis查询延迟加载详解及实例
  • 2017-12-17读取修复:在读取路径期间修复
  • 2017-05-11Sql Server 和 Access 操作数据库结构Sql语句小结

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 数据库分页查询语句数据库查询
    • SQL 优化经验总结34条
    • 数据库查询优化(主从表的设计)
    • 让你的insert操作速度增加1000倍的方法
    • where 子句的执行顺序
    • mssql注入躲避IDS的方法
    • SQL 随机查询 包括(sqlserver,mysql,access等)
    • 数据库为何要建立索引的原因说明
    • SQL语句实现删除重复记录并只保留一条
    • ETL流程概述及常用实现方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有