mssql sqlserver update 语句用法简介


摘要:
下文详细介绍了mssql sqlserver 中update语法及举例说明update的应用,
实验环境:sql server 2008 R2
如下所示:



1.update语法简介

————————————————————–

   -----update 语法简介
   -----update 单表更新数据,sql server update 目前不支持多表更新操作
   update [表名]  set [列名1]=表达式,[列名2]=表达式,[列名3]=表达式 
   [where 限定条件]
 

————————————————————–
例:

create table A(keyIdA int identity,nameA varchar(100))
create table B(keyIdB int identity,nameB varchar(100))
go
/*生成数据*/
insert into A (nameA)values('A1'),('A2'),('A3')
insert into B (nameB)values('B1'),('B2'),('B3')
go
/*单表更新1*/
update A set nameA='maomao365.com'  where keyIdA =2
go
select * from A 
go
/*单表更新2:使用其它表数据源*/
update B  set B.nameB=A.nameA from A,B
where A.keyIdA =2 
and B.keyIdB =1 
go
 
select * from A
select * from B 
go
truncate table A
drop table A 
truncate table B
drop table B 
mssql_sqlserver_update应用简介

mssql_sqlserver_update应用简介

mssql sqlserver update语句其它基本用法说明

1:常用update

update A
set nameA =’猫猫小屋’ where keyId =1
—-指定将第一条数据 nameA列修改为”猫猫小屋”

update A
set nameA =null
—-将表中所有nameA列置为null值

2:upate采用自身值

update A
set nameA= nameA+nameA
—将列nameA重复叠加一次

3: update 修改表,源数据来源另一张表

update B set B.nameB=A.nameA from A,B
where A.keyIdA = b.keyIdB

4:update 使用子查询

update A set nameA=(select top 1 nameB from B )
where keyIdA =2

———————————————-
—–使用子查询更新A表的求和字段
update A set qty =(select sum(qty) from B where B.keyIdB = A.keyIdA)
———————————————-

注意事项:
在一个update 语句,不能对同一列进行两次update 更新操作
例:
update A set nameA =’test_one’,nameA=’test_two’ —-此脚本在sql编译器阶段将会产生错误