update的其它用法

简介:

Update除了有基本的语法格式外还有其它的一些常用的格式:

(1)、更新数据为内部变量或者函数,格式为:

    update 表名

    set 字段名1=函数1[…,字段名n=函数n]

    [where 条件]

    eg:

update student

       set sbirth=getdata()

       where sno=’990001’

(2)、更新数据为同一记录的其他字段值(将一张表中的同一记录的某个字段值改成另一字段的值),格式为:

    update 表名

    set 字段名1=字段名m[…,字段名m=字段名n]

    from 表名1,表名2

    [where 条件]

eg:  

           update student

set sdept=stu.sname

from student,student as stu

where student.sno='990001'

(3)、更新数据为不同表的字段值,该方式要求更新数据的目标表和源表有相同的字段(将一个表中字段的值赋给另一个表的某个字段),格式为:

    update 表名1

set 表名1.字段名1=表名2.字段名1[...,表名1.字段名n=表名2.字段名n]

from 表名1,表名2

[where 条件]

eg:

      update student

set sdept=stu.sdept

from student,stu

where student.sno='990001' and stu.sno='990002'

(4)、更新数据为同一个表中的某些字段值(将一个表中不同记录之间的字段值进行替换),格式为:

    update 表名1

set 表名1.字段名1=表别名.字段名1[...表名1.字段名n=表别名.字段名n]

from 表名1,表名 as 别名

[where 条件]

eg:

           update student

set sdept=stu.sdept

from student,student as stu

where student.sno='990001' and stu.sno='990002'


本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/380204,如需转载请自行联系原作者

 

相关文章
|
2月前
|
SQL 数据库
UPDATE
【11月更文挑战第04天】
47 1
|
7月前
|
SQL 数据库
`UPDATE FROM` 的语法以及常见的更新操作方式
`UPDATE FROM` 的语法以及常见的更新操作方式
1329 2
|
8月前
|
安全 程序员 C++
C++ new和delete的用法
需要注意的是,使用 `new`和 `delete`分配和释放内存时,程序员负责管理内存的分配和释放,这可能导致内存泄漏或释放已释放内存的问题。因此,C++引入了智能指针(如 `std::shared_ptr`和 `std::unique_ptr`)以更安全和自动化地管理内存。
126 2
while (n-- > 0) 的用法
while (n-- > 0) 的用法
|
程序员 C++
C++:new和delete的用法
C++:new和delete的用法
102 0
|
调度 C++ 容器
C++中set的用法
⭐一、set的简介 set的中文译为集合,知名见其意,因此set容器也就具有集合的属性啦!而集合这个概念大家应该上数学课应该都是学过的哈,集合它具有确定性、互异性、无序性。当然我们这里重点记住它的互异性就OK了,那么什么是互异性呢?就是说一个集合里边是不会出现两个甚至以上相同的元素的(有我没他,有他没我),说明集合还是比较专一的哈,大家以后对待感情也要专一哦!😉😉😉 还有非常重要的一点就是set容器会自动地对元素进行升序排序(从小到大)
334 0
|
SQL 关系型数据库 数据库
如何实现update select 语句
​ 这次的文章出现也是因为这样一个类似的需求,个人需要把一个30万行(后续会发文介绍常见的处理手段)的数据文件入库,同时需要将部分字段迁移到另一张表,两个表之间通过两个字段进行and匹配。
218 0
|
开发者 Python
Update 方法的使用 | 学习笔记
快速学习 Update 方法的使用
|
SQL druid Oracle
由for update引发的血案
公司的某些业务用到了数据库的悲观锁 for update,但有些同事没有把 for update 放在 Spring 事务中执行,在并发场景下发生了严重的线程阻塞问题,为了把这个问题吃透,秉承着老司机的职业素养,我决定要给同事们一个交代。
581 0
由for update引发的血案
|
SQL
update 的一种用法
declare @aa int set @aa = 1update EWC_HT_Contract set ContractCode = a.ContractCode + cast (@aa as nvarchar(10)),@aa = @aa +1 from  (select ContractCode from  ContractWHERE (MasterID = 1) ) as awhere MasterID = 2   SQL Server 2000 里面的通过记录修改另一条记录地方法,还可以修改序号。
689 0