亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQL Server > 正文

Sql表數據操作

2019-11-03 08:37:36
字體:
來源:轉載
供稿:網友
表數據操作包括數據的插入、修改和刪除。
一、插入數據

在向表中添加數據時應該注意兩點:第一是用戶權限,只有sysadmin角包成員、數據庫和數據庫對象所有者及其授權用戶才有權限向表中添加數據;第二是數據格式,對于不同的數據類型,插入數據的格式也不一樣,應嚴格遵守它們各自的格式要求。

Transact-SQL語言中用INSERT語句向表或視圖中插入新的數據行。INSERT語句的語法格式為:

INSERT [INTO] table_source

{[column_list]

VALUES ({DEFAULT | constant_exPRession} [,…n])

|DEFAULT VALUES

|select_statement

|execute_statement

}

}

其中,column_list參數為新插入數據行中一列或多列列名列表,它說明INSERT 語句只為指定列插入數據。在給表或視中部分列插入數據時,必須使用列名列表方式指出這部分列名。其余未指定列的列值要根據它們的默認值和空值屬性情況而定,它們有以下幾種可能取值:

(1)對于timestamp列或具有IDENTITY屬性列,它們的列值由SQL Server計算后自動賦值。

(2)如果這些列有默認值或關聯有默認數據庫對象,插入新列時,它們的值為默認值。

(3)當這些列沒有默認值設置時,但它們允許空值時,該列值為空。

(4)當這些列既沒有默認值設置,也不允許空值時,SQL Server在執行INSERT 語句時將產生錯誤,

導致插入操作失敗。

當未指定column_list 參數時,為各列所提供的數據順序應嚴格按照表中各列的定義順序,而使用column_list參數則可以調整向表中所插入數據的列順序,只要VALUES子句所提供的數據順序與column_list參數中指定的列順序相同即可。

VALUES子句為新插入行中column_list 參數所指定列提供數據,這些數據可以以常量表達式形式提供,或使用DEFAULT關鍵字說明向列中插入其默認值。

DEFAULT VALUES說明向表中所有列插入其默認值。對于具有INDENTITY 屬性或timestamp 數據類型列,系統將自動插入下一個適當值。對于沒有設置默認值的列,如果它們允許空值,SQL Server將插入null,否則返回一錯誤消息。

select_statement是標準的數據庫查詢語句,它是SQL Server為INSERT語句所提供的又一種數據插入方式。INSERT語句將select_statement子句所返回的結果集合數據插入到指定表中。查詢語句結果集合每行中的數據數量、 數據類型和排列順序也必須與表中所定義列或 column_list 參數中指定列的數量、數據類型和排列順序完全相同。

SQL Server為INSERT語句提供的第四種數據插入方式是通過執行系統存儲過程,其數據來自于過程執行后所產生的結果集合。所執行的過程可以為存儲過程、系統存儲過程或擴展存儲過程,它們既可以為本地存儲過程,又可以是遠程服務器上的存儲過程,只要用戶具有它們的執行權限即可。有關存儲過程請參閱對應的內容。

table_source說明INSERT語句插入數據時所操作的表或視圖,其語法格式可簡單書寫為:

{table_name [[AS] table_alias]

| view_name [[AS] table_alias]

}

table_name和view_name說明被插入數據的表或視圖名稱,table_alias參數為表或視圖設置別名。

使用別名有兩方面原因:第一、當表或視圖名稱較長時,使用別名可以簡化書寫工作;第二,在自連接或子查詢中,使用別名可以區別同一個表或視圖。

在向表中插入數據時, 如果所插入的數據與約束或規則的要求沖突, 或是它們的數據類型不兼容時,將導致INSERT 語句執行失敗。當使用SELECT或EXECUTE子句向表中一次插入多行數據時,如果其中有任一行數據有誤,它將導致整個插入操作失敗,使SQL Server停止所有數據行的插入操作。

例一、使用數值列表方式( 假定 usertable 表中只定義了name、age和sex字段,且name、sex均為

char類型,age為int類型)。

INSERT usertable

VALUES ('張三','女',18)

例二、使用列名列表方式

INSERT usertable (age,name)

VALUES (18,'張三')

例三、在數值列表中,還可以將變量的值插入到表中。在使用變量為列提供數據時,應保證變量的數據類型與列數據類型相同,或是可以自動將它們轉換為相同的數據類型。例如:

DECLARE @name char(16)

SET @name='張三'

INSERT usertable

VALUES (@name,DEFAULT,20)

本例中asp中是這樣的:

dim name

name="張三"

sqlstr="INSERT usertable VALUES ('"&name&"','女',20)"

……



例四、將SELECT子句的所返回的結果集合插入到表中。例如:

INSERT usertable (name,sex,age)

SELECT 's'+name,sex,age

FROM usertable

WHERE name like '張%%'


二、修改數據

Transact-SQL中的UPDATE語句用于修改表中數據,該語句的語法格式為:

UPDATE ()

SET (

column_name={expression | DEFAULT }

| @variable = expression

} [,…n]

[FROM

{

| (select_statement) [AS] table_alias [,…m]) ]

}

[,…n]

]

[WHERE



| CURRENT OF ({[GLOBAL] cursor_name } | cursor_variable_name} }

]

別看寫了一大堆,最常用的只是下列格式:

UPDATE table_name

SET column_name1=variable1,column_name2=variable2

WHERE search_conditions

其中table_or_view參數指出待修改的表或視圖名稱,其格式與INSERT語句中該參數的格式相同。

SET子句指出表中被修改的列或變量,以及它們的新值。column_name為被修改的列名,@variable為一個已經聲明的局部變量名稱,它們修改后的值由expression表達式提供,或使用DEFAULT關鍵字將默認值賦給指定列。

FROM子句引出另一個表,它為UPDATE語句的數據修改操作提供條件。

WHERE子句中的search_conditions 參數說明UPDATE語句的修改條件,它指出表或視圖中的哪些行需要修改。省略WHERE子句時,說明對指定的表或視圖中的所有行進行修改?。。?!

WHERE子句中的CURRENT OF說明在游標的當前位置處執行修改操作,游標由curror_name 或游標變量cursor_variable_name指定。

UPDATE不能修改具有IDENTITY屬性列的列值。

例一、將usertable表中所有人員的性別改為'男'

UPDATE usertable

SET sex='男'



例二、將性別為null的所有人員的性別改成'男'

UPDATE usertable

SET sex='男'

WHERE sex IS NULL

例三、將所有姓名為null的人員的姓名改為'張三'、性別改為'女',年齡改為18

UPDATE usertable

SET name='張三',sex='女',age=18

WHERE name IS NULL


三、刪除數據

Transact-SQL中,DELETE和TRUNCATE TABLE語句均可以刪除表中的數據。DELETE語句的語法格式為:

DELETE

{table_name | view_name}

FROM

{



| (select_statement) [AS] table_alias [(column_alias [,…m])]

}[,…n]

[WHERE

{

|{ [CURRENT OF {{[global] cursor_name}

|cursor_variable_name

}



DELETE語句的結構與UPDATE語句有些類似,其中也包含FROM子句和WHERE子句。WHERE子句為數據刪

除指定條件。不使用WHERE子句時,DELETE語句將把有或視圖中所有的數據刪除。FROM子句是Transact-SQL在ANSI基礎上對DELETE語句的擴展,它指定要連接的表名,提供與相關子查詢相似的功能。

TRUNCATE TABLE語句語法格式為:

TRUNCATE TABLE table_name

TRUNCATE TABLE語句刪除指定表中的所有數據行,但表結構及其所有索引繼續保留,為該表所定義約束、規則、默認和觸發器仍然有效。如果所刪除表中包含有IDENTITY列,則該列將被復位到其原始基值。使用不帶WHERE子句的DELETE語句也可以刪除表中所有行,但它不復位IDENTITY列。

與DELETE語句相比,TRUNCATE TABLE語句的刪除速度更快。因為DELETE語句在每刪除一行時都要把刪除操作記錄到日志中,而TRUNCATE TABLE語句則是通過釋放表數據頁面的方法來刪除表中數據,它只在釋放頁面做一次事務日志記錄。所以使用TRUNCATE TABLE語句刪除數據后,這些行是不可恢復的,而DELETE操作則可回滾,能夠恢復原來數據。

因為TRUNCATE TABLE語句不做操作日志,它不能激活觸發器,所以TRUNCATE TABLE語句不能刪除一個被其它表通過FOREIGN KEY約束所參照的表。

例一、使用DELETE語句刪除usertable表中name為'張三'的數據行

DELETE usertable

WHERE name='張三'



例二、下面使用FROM子句和WHERE子句指定條件,然后從TB_update表中刪除數據

DELETE TB_update

FROM TB_constraint AS a,TB_update AS b

WHERE a.name=b.name

AND a.country='China'



DELETE TB_update

FROM (SELECT * FROM TB_constraint

WHERE country='USA') AS a

WHERE a.name=TB_update.name
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日本久久久久亚洲中字幕| 国产精品久久久久久久久男| 中文字幕欧美在线| 国产成人在线精品| 久久精品免费电影| 亚洲视屏在线播放| 欧美日韩国产综合视频在线观看中文| 久久综合九色九九| 亚洲精品中文字幕有码专区| 国产亚洲视频在线观看| 欧美麻豆久久久久久中文| 欧美性生交xxxxxdddd| 亚洲综合精品一区二区| 午夜精品一区二区三区在线| 97色伦亚洲国产| 2021久久精品国产99国产精品| 色在人av网站天堂精品| 精品欧美aⅴ在线网站| 亚洲一二三在线| 亚洲视频自拍偷拍| 日韩欧美在线视频观看| 欧美电影电视剧在线观看| 成人亚洲综合色就1024| 国产裸体写真av一区二区| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲精品av在线播放| 国产精品福利观看| 日韩精品中文字幕久久臀| 欧美在线视频免费播放| 国外成人在线视频| 日韩在线视频网| 日本久久久久亚洲中字幕| 在线亚洲男人天堂| 久久久久国产精品www| 亚州国产精品久久久| 亚洲欧美激情精品一区二区| 精品国产31久久久久久| 精品亚洲永久免费精品| 色婷婷**av毛片一区| 久久久久久国产免费| 日韩在线视频线视频免费网站| 国内久久久精品| 欧美最猛黑人xxxx黑人猛叫黄| 日韩电影大全免费观看2023年上| 欧美国产中文字幕| 亚洲自拍小视频免费观看| 亚洲精品一区二区三区不| 欧美日韩亚洲视频一区| 亚洲丝袜在线视频| 91精品国产免费久久久久久| 欧美性一区二区三区| 欧美日韩国产成人在线| 全色精品综合影院| 亚洲精品美女在线观看播放| 国产精品尤物福利片在线观看| 俺也去精品视频在线观看| 久久久国产在线视频| 欧美一区二三区| 在线播放国产一区二区三区| 亚洲欧美一区二区三区情侣bbw| 欧美裸体男粗大视频在线观看| 亚洲精品视频久久| 久久人人爽人人爽爽久久| 亚洲一区二区三区777| 国产乱人伦真实精品视频| 欧美精品18videos性欧美| 4438全国亚洲精品在线观看视频| 国产69精品久久久久9999| 成人久久18免费网站图片| 久久国产精品免费视频| 91色琪琪电影亚洲精品久久| 亚洲午夜精品久久久久久久久久久久| 久久精品中文字幕一区| 在线视频免费一区二区| 国产视频在线一区二区| 欧美自拍大量在线观看| 欧美国产日韩中文字幕在线| 欧美精品videosex性欧美| 欧美精品www在线观看| 97超碰色婷婷| 一夜七次郎国产精品亚洲| 91tv亚洲精品香蕉国产一区7ujn| 成人精品一区二区三区| 在线观看日韩www视频免费| 欧美日韩一区二区免费在线观看| 国产视频久久久久| 成人免费在线视频网站| 色香阁99久久精品久久久| 国产精品视频色| 国产精品久久久久久久久男| 亚洲电影免费观看高清完整版在线观看| 国产97色在线|日韩| 日韩二区三区在线| 国产欧美日韩中文| 91免费版网站入口| 成人激情免费在线| 日韩中文字幕在线视频播放| 欧美性xxxxhd| 性欧美暴力猛交69hd| 7777kkkk成人观看| 欧美激情亚洲视频| 韩剧1988在线观看免费完整版| 精品国产网站地址| 岛国av一区二区三区| 91视频国产高清| 性欧美视频videos6一9| 久久av资源网站| 日韩精品免费看| 国产欧美中文字幕| 成人免费视频在线观看超级碰| 亚洲高清一二三区| 亚洲一区二区三区777| 97av在线影院| 国产欧美精品日韩精品| 久热精品视频在线免费观看| 日韩美女视频在线观看| 日韩在线观看成人| 国产精品久久久久久一区二区| 中文字幕av一区二区三区谷原希美| 国产一区私人高清影院| 91在线高清免费观看| 日韩欧美国产网站| 亚洲护士老师的毛茸茸最新章节| 亚洲色图17p| 最近2019中文字幕第三页视频| 亚洲精品电影在线观看| 国产精品香蕉在线观看| 精品自在线视频| 美女福利精品视频| 亚洲欧美制服第一页| 亚洲美女精品成人在线视频| 国产一区二区丝袜高跟鞋图片| 日韩精品在线免费播放| 欧美性xxxx极品hd欧美风情| 成人免费观看a| 17婷婷久久www| 欧美成人全部免费| 91禁国产网站| 日韩精品高清在线观看| 亚洲人成在线播放| 岛国视频午夜一区免费在线观看| 亚洲欧美色婷婷| 国产成人一区二区三区电影| 欧美日韩国产一区二区| 中文字幕精品—区二区| 欧美肥臀大乳一区二区免费视频| 成人性教育视频在线观看| 亚洲va久久久噜噜噜| 欧美电影在线播放| 亚洲电影免费在线观看| 日韩精品免费在线视频观看| 91tv亚洲精品香蕉国产一区7ujn| 久久久99久久精品女同性| 7m精品福利视频导航| 日韩美女写真福利在线观看| 一区二区三区回区在观看免费视频| 欧美激情a∨在线视频播放| 国语自产精品视频在线看| 国产成人亚洲综合91精品| 欧美日韩国产综合视频在线观看中文| 日韩免费av片在线观看| 中文亚洲视频在线| 精品女厕一区二区三区| 亚洲成人亚洲激情|