欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Sql表數據操作

Sql表數據操作

 
Sql表數據操作,閱讀Sql表數據操作,表數據操作包括數據的插入、修改和刪除。一、插入數據 在向表中添加數據時(shí)應該注意兩點(diǎn):第一是用戶(hù)權限,只有sysadmin角包成員、數據庫和數據庫對象所有者及其授權用戶(hù)才有權限向表中添加數據;第二是數據格式,對于不同的
   
表數據操作包括數據的插入、修改和刪除。
一、插入數據

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

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

INSERT [INTO] table_source

{[column_list]

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

|DEFAULT VALUES

|select_statement

|execute_statement

}

}

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

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

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

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

(4)當這些列既沒(méi)有默認值設置,也不允許空值時(shí),SQL Server在執行INSERT 語(yǔ)句時(shí)將產(chǎn)生錯誤,

導致插入操作失敗。

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

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

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

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

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

table_source說(shuō)明INSERT語(yǔ)句插入數據時(shí)所操作的表或視圖,其語(yǔ)法格式可簡(jiǎn)單書(shū)寫(xiě)為:

{table_name [[AS] table_alias]

| view_name [[AS] table_alias]

}

table_name和view_name說(shuō)明被插入數據的表或視圖名稱(chēng),table_alias參數為表或視圖設置別名。

使用別名有兩方面原因:第一、當表或視圖名稱(chēng)較長(cháng)時(shí),使用別名可以簡(jiǎn)化書(shū)寫(xiě)工作;第二,在自連接或子查詢(xún)中,使用別名可以區別同一個(gè)表或視圖。

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

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

char類(lèi)型,age為int類(lèi)型)。

INSERT usertable

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

例二、使用列名列表方式

INSERT usertable (age,name)

VALUES (18,'張三')

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

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語(yǔ)句用于修改表中數據,該語(yǔ)句的語(yǔ)法格式為:

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} }

]

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

UPDATE table_name

SET column_name1=variable1,column_name2=variable2

WHERE search_conditions

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

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

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

WHERE子句中的search_conditions 參數說(shuō)明UPDATE語(yǔ)句的修改條件,它指出表或視圖中的哪些行需要修改。省略WHERE子句時(shí),說(shuō)明對指定的表或視圖中的所有行進(jìn)行修改?。。?!

WHERE子句中的CURRENT OF說(shuō)明在游標的當前位置處執行修改操作,游標由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語(yǔ)句均可以刪除表中的數據。DELETE語(yǔ)句的語(yǔ)法格式為:

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語(yǔ)句的結構與UPDATE語(yǔ)句有些類(lèi)似,其中也包含FROM子句和WHERE子句。WHERE子句為數據刪

除指定條件。不使用WHERE子句時(shí),DELETE語(yǔ)句將把有或視圖中所有的數據刪除。FROM子句是Transact-SQL在A(yíng)NSI基礎上對DELETE語(yǔ)句的擴展,它指定要連接的表名,提供與相關(guān)子查詢(xún)相似的功能。

TRUNCATE TABLE語(yǔ)句語(yǔ)法格式為:

TRUNCATE TABLE table_name

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

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

因為T(mén)RUNCATE TABLE語(yǔ)句不做操作日志,它不能激活觸發(fā)器,所以TRUNCATE TABLE語(yǔ)句不能刪除一個(gè)被其它表通過(guò)FOREIGN KEY約束所參照的表。

例一、使用DELETE語(yǔ)句刪除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
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
常用的SQL語(yǔ)句
oracle SELECT INTO 和 INSERT INTO SELECT 兩種表復制語(yǔ)句詳解
新手MySQL工程師必備命令速查手冊
10分鐘學(xué)會(huì ) SQL 語(yǔ)言核心知識點(diǎn)!
DB2 SQL 與 XQuery 教程,第 6 部分: 數據定義語(yǔ)言和數據控制語(yǔ)言 - 豆...
sql 基本語(yǔ)句
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久