SQL?Server修改數(shù)據(jù)的幾種語句詳解
本篇主要講解的是SQL Server 中修改數(shù)據(jù)的幾種語句:
- INSERT語句
- INSERT INTO SELECT語句
- UPDATE語句
- DELETE語句
一:INSERT語句
INSERT語句向表中添加新行,以下是INSERT語句的最基本形式:
- 首先:table_name指定要插入的表的名稱;
- 其次,column_list指定要在其中插入數(shù)據(jù)的一個或多個列的列表。必須將列的列表包括在括號中并用逗號分隔離列
- 如果列在列列表中沒有出現(xiàn),則SQL Server必須能夠提供插入值,否則無法插入行。
- SQL Server自動對表中可用的列使用以下值,但不會出現(xiàn)在 INSERT 語句的列列表中:
- 如果列具有[IDENTITY]屬性,則為下一個增量值。 如果列具有指定的默認(rèn)值,則為默認(rèn)值。
- 如果列的數(shù)據(jù)類型是時間戳數(shù)據(jù)類型(timestamp),則默認(rèn)為當(dāng)前時間戳值。
- 如果列可以為 NULL 值,則使用 NULL 。
- 第三,要在 VALUES 子句中提供插入的值列表。列列表中的每列必須在值列表中具有相應(yīng)的 值。 此外,必須將值列表括在括號中。
以下是創(chuàng)建一個名為promotions 的新表:
(在sales模式中創(chuàng)建了一個名為promotions的新表。 promotions表有五列,包括:促銷標(biāo)識號 (promotion_id),名稱(name),折扣(discount),開始日期(start_date)和過期日期 (expired_date)。 promotion_id是標(biāo)識列,因此當(dāng)向表中添加新行時,SQL Server會自動填充其值。)
注:promotions表暫無任何數(shù)據(jù)
以下語句是將新行添加到promotions表中 (添加行數(shù)據(jù)):
注:在此示例中,為 promotions 表中的四列指定了值。但沒有為 promotion_id 列指定值,這是為什么呢?
因?yàn)镾QL Server會自動為此列提供值。
查詢結(jié)果為:
將顯示值插入標(biāo)識列:
通常情況下,不為標(biāo)識列指定值,因?yàn)镾QL Server將自動提供,但是,在某些情況下,可能希望在標(biāo)識列中插入值,例如數(shù)據(jù)的遷移。
要為標(biāo)識列 插入顯示值,必須首先執(zhí)行以下語句:(開啟)
若要關(guān)閉標(biāo)識插入,請使用以下語句:(關(guān)閉)
以下是在promotions 表中插入標(biāo)識列的值:
INSERT 一次添加多行數(shù)據(jù):
若要一次向表中添加多行數(shù)據(jù),請使用以下形式的INSERT語句:
在此語法中,不使用單個值列表,而是使用多個以逗號分隔的值列表進(jìn)行插入。 使用此形式的 INSERT 語句,一次可以插入的行數(shù)為 1000 行
二:INSERT INTO SELECT語句
要將其他表中的數(shù)據(jù)插入另一個表中,請使用以下SQL Server INSERT INTO SELECT 語句:
在此語法中,查詢語句返回的行將插入 target_table 。該查詢是從任何其他表中檢索數(shù)據(jù)的有效 SELECT 語句。它必須返回與 column_list 中指定的列對應(yīng)的數(shù)據(jù)
以下所寫的語句是將customers表中的所有地址都插入到addresses表中:
注:列值要一一對應(yīng)
三:UPDATE語句
要修改表中的現(xiàn)有數(shù)據(jù),請使用以下 UPDATE 語句語法:
在上面語法中:
1.首先,指定要從中更新數(shù)據(jù)的表的名稱;
2.其次,指定要更新的列 c1 ,c2 ... ,cn 和值 v1 ,v2 ... vn 的列表;
3.第三,在 WHERE 子句中指定條件以選擇更新的行。WHERE子句是可選的。 如果不指定 WHERE 子 句,則表中的所有行都將更新;
四:DELETE語句
刪除表中的現(xiàn)有數(shù)據(jù),請使用以下 DELETE 語句語法:
在上面語法中:
1.首先,指定要從中刪除數(shù)據(jù)的表的名稱。
2.其次,在 WHERE 子句中指定條件以選擇刪除的行。WHERE子句是可選的。 如果不指定 WHERE子句,則表中的所有行都將被刪除。
總結(jié)
到此這篇關(guān)于SQL Server修改數(shù)據(jù)的幾種語句的文章就介紹到這了,更多相關(guān)SQL Server修改數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
ASP.NET下向SQLServer2008導(dǎo)入文件實(shí)例操作方法
在Microsoft SQL Server2008以后的版本中,將刪除image數(shù)據(jù)類型。在新的開發(fā)工作中將不適用此數(shù)據(jù)類型,并打算修改當(dāng)前使用此數(shù)據(jù)類型的應(yīng)用程序,改用varbinary(max)數(shù)據(jù)類型。2010-09-09order by newid() 各種數(shù)據(jù)庫隨機(jī)查詢的方法
order by newid() 各種數(shù)據(jù)庫隨機(jī)查詢的方法,需要的朋友可以參考一下2013-04-04SqlServer備份數(shù)據(jù)庫的4種方式介紹
這篇文章主要介紹了SqlServer備份數(shù)據(jù)庫的4種方式介紹,本文講解了用sqlserver的維護(hù)計(jì)劃、通過腳本+作業(yè)的方式備份數(shù)據(jù)庫(非xp_cmdshell和xp_cmdshell)、用powershell調(diào)用sqlcmd來執(zhí)行備份命令幾種方式,需要的朋友可以參考下2015-02-02SQL Server Page結(jié)構(gòu)深入分析
這篇文章主要介紹了SQL Server Page結(jié)構(gòu)的詳細(xì)分析,從概念,原理等方便做了詳細(xì)說明,一起來學(xué)習(xí)下。2017-12-12使用 GUID 值來作為數(shù)據(jù)庫行標(biāo)識講解
使用 GUID 值來作為數(shù)據(jù)庫行標(biāo)識講解...2007-05-05SQL Server誤區(qū)30日談 第7天 一個實(shí)例多個鏡像和日志傳送延遲
這個誤區(qū)就有點(diǎn)老生常談了。每一個主體服務(wù)器只允許一個鏡像服務(wù)器。如果你希望存在多個主體服務(wù)器的副本,那么請使用事務(wù)日志傳送,事務(wù)日志傳送允許針對每一個主體存在多個輔助實(shí)例2013-01-01