SQL Server修改數(shù)據(jù)的幾種語句詳解
目錄
- 一:INSERT語句
- 二:INSERT INTO SELECT語句
- 三:UPDATE語句
- 四:DELETE語句
- 總結(jié)
本篇主要講解的是SQL Server 中修改數(shù)據(jù)的幾種語句:
- INSERT語句
- INSERT INTO SELECT語句
- UPDATE語句
- DELETE語句
一:INSERT語句
INSERT語句向表中添加新行,以下是INSERT語句的最基本形式:
- 首先:table_name指定要插入的表的名稱;
- 其次,column_list指定要在其中插入數(shù)據(jù)的一個(gè)或多個(gè)列的列表。必須將列的列表包括在括號(hào)中并用逗號(hào)分隔離列
- 如果列在列列表中沒有出現(xiàn),則SQL Server必須能夠提供插入值,否則無法插入行。
- SQL Server自動(dòng)對(duì)表中可用的列使用以下值,但不會(huì)出現(xiàn)在 INSERT 語句的列列表中:
- 如果列具有[IDENTITY]屬性,則為下一個(gè)增量值。 如果列具有指定的默認(rèn)值,則為默認(rèn)值。
- 如果列的數(shù)據(jù)類型是時(shí)間戳數(shù)據(jù)類型(timestamp),則默認(rèn)為當(dāng)前時(shí)間戳值。
- 如果列可以為 NULL 值,則使用 NULL 。
- 第三,要在 VALUES 子句中提供插入的值列表。列列表中的每列必須在值列表中具有相應(yīng)的 值。 此外,必須將值列表括在括號(hào)中。
以下是創(chuàng)建一個(gè)名為promotions 的新表:
(在sales模式中創(chuàng)建了一個(gè)名為promotions的新表。 promotions表有五列,包括:促銷標(biāo)識(shí)號(hào) (promotion_id),名稱(name),折扣(discount),開始日期(start_date)和過期日期 (expired_date)。 promotion_id是標(biāo)識(shí)列,因此當(dāng)向表中添加新行時(shí),SQL Server會(huì)自動(dòng)填充其值。)
注:promotions表暫無任何數(shù)據(jù)
以下語句是將新行添加到promotions表中 (添加行數(shù)據(jù)):
注:在此示例中,為 promotions 表中的四列指定了值。但沒有為 promotion_id 列指定值,這是為什么呢?
因?yàn)镾QL Server會(huì)自動(dòng)為此列提供值。
查詢結(jié)果為:
將顯示值插入標(biāo)識(shí)列:
通常情況下,不為標(biāo)識(shí)列指定值,因?yàn)镾QL Server將自動(dòng)提供,但是,在某些情況下,可能希望在標(biāo)識(shí)列中插入值,例如數(shù)據(jù)的遷移。
要為標(biāo)識(shí)列 插入顯示值,必須首先執(zhí)行以下語句:(開啟)
若要關(guān)閉標(biāo)識(shí)插入,請(qǐng)使用以下語句:(關(guān)閉)
以下是在promotions 表中插入標(biāo)識(shí)列的值:
INSERT 一次添加多行數(shù)據(jù):
若要一次向表中添加多行數(shù)據(jù),請(qǐng)使用以下形式的INSERT語句:
在此語法中,不使用單個(gè)值列表,而是使用多個(gè)以逗號(hào)分隔的值列表進(jìn)行插入。 使用此形式的 INSERT 語句,一次可以插入的行數(shù)為 1000 行
二:INSERT INTO SELECT語句
要將其他表中的數(shù)據(jù)插入另一個(gè)表中,請(qǐng)使用以下SQL Server INSERT INTO SELECT 語句:
在此語法中,查詢語句返回的行將插入 target_table 。該查詢是從任何其他表中檢索數(shù)據(jù)的有效 SELECT 語句。它必須返回與 column_list 中指定的列對(duì)應(yīng)的數(shù)據(jù)
以下所寫的語句是將customers表中的所有地址都插入到addresses表中:
注:列值要一一對(duì)應(yīng)
三:UPDATE語句
要修改表中的現(xiàn)有數(shù)據(jù),請(qǐng)使用以下 UPDATE 語句語法:
在上面語法中:
1.首先,指定要從中更新數(shù)據(jù)的表的名稱;
2.其次,指定要更新的列 c1 ,c2 ... ,cn 和值 v1 ,v2 ... vn 的列表;
3.第三,在 WHERE 子句中指定條件以選擇更新的行。WHERE子句是可選的。 如果不指定 WHERE 子 句,則表中的所有行都將更新;
四:DELETE語句
刪除表中的現(xiàn)有數(shù)據(jù),請(qǐng)使用以下 DELETE 語句語法:
在上面語法中:
1.首先,指定要從中刪除數(shù)據(jù)的表的名稱。
2.其次,在 WHERE 子句中指定條件以選擇刪除的行。WHERE子句是可選的。 如果不指定 WHERE子句,則表中的所有行都將被刪除。
總結(jié)
到此這篇關(guān)于SQL Server修改數(shù)據(jù)的幾種語句的文章就介紹到這了,更多相關(guān)SQL Server修改數(shù)據(jù)內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!
