SQL的update語句怎么寫
UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值,update語句的寫法:
1、UPDATE table_name
2、SET column1=value1,column2=value2,。
3、WHERE column(1)=value(1),column(2)=value(2)。and column(n)=value(n);
4、UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing',WHERE LastName = 'Wilson'
擴展資料
SQL的update語句寫法的特點
1、一體化:SQL集數據定義DDL、數據操縱DML和數據控制DCL于一體,可以完成數據庫中的全部工作。
2、使用方式靈活:它具有兩種使用方式,即可以直接以命令方式交互使用;也可以嵌入使用,嵌入到C、C++、FORTRAN、COBOL、JAVA等主語言中使用。
3、非過程化:只提操作要求,不必描述操作步驟,也不需要導航。使用時只需要告訴計算機“做什么”,而不需要告訴它“怎么做”。
4、語言簡潔,語法簡單,好學好用:在ANSI標準中,只包含了94個英文單詞,核心功能只用6個動詞,語法接近英語口語。
參考資料來源:搜狗百科—update (數據庫SQL語法用語)
sql如何更新數據(用sql語句)
代碼如下:
--創建鏈接服務器
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '遠程服務器名或ip地址 '
exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用戶名 ', '密碼 '
--查詢示例
select * from ITSV.數據庫名.dbo.表名
--導入示例
select * into 表 from ITSV.數據庫名.dbo.表名
--以后不再使用時刪除鏈接服務器
exec sp_dropserver 'ITSV ', 'droplogins '
--連接遠程/局域網數據(openrowset/openquery/opendatasource)
--1、openrowset
--查詢示例
select * from openrowset( 'SQLOLEDB ', 'sql服務器名 '; '用戶名 '; '密碼 ',數據庫名.dbo.表名)
--生成本地表
select * into 表 from openrowset( 'SQLOLEDB ', 'sql服務器名 '; '用戶名 '; '密碼 ',數據庫名.dbo.表名)
--把本地表導入遠程表
insert openrowset( 'SQLOLEDB ', 'sql服務器名 '; '用戶名 '; '密碼 ',數據庫名.dbo.表名)
select *from 本地表
--更新本地表
update b
set b.列A=a.列A
from openrowset( 'SQLOLEDB ', 'sql服務器名 '; '用戶名 '; '密碼 ',數據庫名.dbo.表名)as a inner join 本地表 b
on *1=*1
--openquery用法需要創建一個連接
--首先創建一個連接創建鏈接服務器
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '遠程服務器名或ip地址 '
--查詢
select *
FROM openquery(ITSV, 'SELECT * FROM 數據庫.dbo.表名 ')
--把本地表導入遠程表
insert openquery(ITSV, 'SELECT * FROM 數據庫.dbo.表名 ')
select * from 本地表
--更新本地表
update b
set b.列B=a.列B
FROM openquery(ITSV, 'SELECT * FROM 數據庫.dbo.表名 ') as a
inner join 本地表 b on a.列A=b.列A
--3、opendatasource/openrowset
SELECT *
FROM opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陸名;Password=密碼 ' ).*_ta
更新的sql語句怎么寫
UPDATE { table_name WITH ( < table_hint_limited > [ 。
n ] ) | view_name | rowset_function_limited } SET { column_name = { expression | DEFAULT | NULL } | @variable = expression | @variable = column = expression } [ ,。n ] { { [ FROM { < table_source > } [ ,。
n ] ] [ WHERE < search_condition > ] } | [ WHERE CURRENT OF { { [ GLOBAL ] cursor_name } | cursor_variable_name } ] } [ OPTION ( < query_hint > [ ,。n ] ) ]< table_source > ::= table_name [ [ AS ] table_alias ] [ WITH ( < table_hint > [ ,。
n ] ) ] | view_name [ [ AS ] table_alias ] | rowset_function [ [ AS ] table_alias ] | derived_table [ AS ] table_alias [ ( column_alias [ ,。n ] ) ] | < joined_table >< joined_table > ::= < table_source > < join_type > < table_source > ON < search_condition > | < table_source > CROSS JOIN < table_source > | < joined_table >< join_type > ::= [ INNER | { { LEFT | RIGHT | FULL } [OUTER] } ] [ < join_hint > ] JOIN< table_hint_limited > ::= { FASTFIRSTROW | HOLDLOCK | PAGLOCK | READCOMMITTED | REPEATABLEREAD | ROWLOCK | SERIALIZABLE | TABLOCK | TABLOCKX | UPDLOCK } < table_hint > ::= { INDEX ( index_val [ ,。
n ] ) | FASTFIRSTROW | HOLDLOCK | NOLOCK | PAGLOCK | READCOMMITTED | READPAST | READUNCOMMITTED | REPEATABLEREAD | ROWLOCK | SERIALIZABLE | TABLOCK | TABLOCKX | UPDLOCK } < query_hint > ::= { { HASH | ORDER } GROUP | { CONCAT | HASH | MERGE } UNION | {LOOP | MERGE | HASH } JOIN | FAST number_rows | FORCE ORDER | MAXDOP | ROBUST PLAN | KEEP PLAN } 參數table_name需要更新的表的名稱。如果該表不在當前服務器或數據庫中,或不為當前用戶所有,這個名稱可用鏈接服務器、數據庫和所有者名稱來限定。
WITH ( < table_hint_limited > [ 。n ] )指定目標表所允許的一個或多個表提示。
需要有 WITH 關鍵字和圓括號。不允許有 READPAST、NOLOCK 和 READUNCOMMITTED。
有關表提示的信息,請參見 FROM。view_name要更新的視圖的名稱。
通過 view_name 來引用的視圖必須是可更新的。用 UPDATE 語句進行的修改,至多只能影響視圖的 FROM 子句所引用的基表中的一個。
有關可更新視圖的更多信息,請參見 CREATE VIEW。rowset_function_limitedOPENQUERY 或 OPENROWSET 函數,視提供程序功能而定。
有關提供程序所需功能的更多信息,請參見 OLE DB 提供程序的 UPDATE 和 DELETE 語句要求。有關行集函數的更多信息,請參見 OPENQUERY 和 OPENROWSET。
SET指定要更新的列或變量名稱的列表。column_name含有要更改數據的列的名稱。
column_name 必須駐留于 UPDATE 子句中所指定的表或視圖中。標識列不能進行更新。
如果指定了限定的列名稱,限定符必須同 UPDATE 子句中的表或視圖的名稱相匹配。例如,下面的內容有效:UPDATE authors SET *_fname = 'Annie' WHERE au_fname = 'Anne'FROM 子句中指定的表的別名不能作為 SET column_name 子句中的限定符使用。
例如,下面的內容無效:UPDATE titles SET *_sales = *_sales + * FROM titles t, sales s WHERE *_id = *_id AND *_date = (SELECT MAX(*_date) FROM sales)若要使上例合法,請從列名中刪除別名 t。UPDATE titles SET ytd_sales = *_sales + * FROM titles t, sales s WHERE *_id = *_id AND *_date = (SELECT MAX(*_date) FROM sales)expression變量、字面值、表達式或加上括弧的返回單個值的 subSELECT 語句。
expression 返回的值將替換 column_name 或 @variable 中的現有值。DEFAULT指定使用對列定義的默認值替換列中的現有值。
如果該列沒有默認值并且定義為允許空值,這也可用來將列更改為 NULL。@variable已聲明的變量,該變量將設置為 expression 所返回的值。
SET @variable = column = expression 將變量設置為與列相同的值。這與 SET @variable = column, column = expression 不同,后者將變量設置為列更新前的值。
FROM < table_source >指定用表來為更新操作提供準則。有關更多信息,請參見 FROM。
table_name [[AS] table_alias ] 為更新操作提供準則的表的名稱。 如果所更新表與 FROM 子句中的表相同,并且在 FROM 子句中對該表只有一個引用,則指定或不指定 table_alias 均可。
如果所更新表在 FROM 子句中出現了不止一次,則對該表的一個(且僅僅一個)引用不能指定表的別名。FROM 子句中對該表的所有其它引用都必須包含表的別名。
view_name [ [ AS ] table_alias ] 為更新操作提供準則的視圖的名稱。帶 INSTEAD OF UPDATE 觸發器的視圖不能是含有 FROM 子句的 UPDATE 的目標。
WITH ( < table_hint > [ 。n ] ) 為源表指定一個或多個表提示。
有關表提示的信息,請參見本卷的"FROM"。rowset_function [ [AS] table_alias ] 任意行集函數的名稱和可選別名。
有關行集函數列表的信息,請參見行集函數。
asp更新數據的SQL語句
首先需要在提交頁面的Form里面增加一個ID隱含字段:
<input type="hidden" name="id" value="<%=RS("id")%>"/>
然后在接收頁面進行如下處理:
Dim id
Dim name
Dim password
Dim title
Dim sqlStr
id=*("id")
name=Trim(*("name"))
password=Trim(*("password"))
title=Trim(*("title"))
sqlStr="Update class set name='"& name &"' password='"& password &"' title='"& title &"' where id="&id
'sqlStr就是更新用的SQL語句
'以下省略
一個數據庫更新操作的SQL語句
update ClassSubject set AvgScore=*
from ClassSubject a,(select sum(AvgScore) as sas,ClassId,SubjectId from ItemValid group by ClassId,SubjectId) b
where *d=*d and *tId=*tId
如果不行的話就將查詢做一個臨時表
select sum(AvgScore) as sas,ClassId,SubjectId INTO #A from ItemValid group by ClassId,SubjectId
go
update ClassSubject set AvgScore=*
from ClassSubject a,#A b
where *d=*d and *tId=*tId
go
轉載請注明出處華閱文章網 » 更新數據的sql語句