19、SQL Server 数据修改之Insert into
數據修改之Insert?into?
以集合而不是行的方式思考。
一、數據插入
各種形式的insert?命令
| insert?/?values | 插入一行數據,通常用于插入用戶界面中的數據 |
| insert?/?select | 插入一個結果集,通常用于操作數據集 |
| insert?/?exec | 插入存儲過程的執行結果,用于復雜的數據操作 |
| insert?/?default | 創建一個由默認值組成的新行,用于填充預留行。 |
| select?/?into | 使用Select?語句的結果集創建一個新表 |
1、插入一行數據
基本語法:
insert [into] 表名?[?(列名1,列名2,列名3...)?]? values(值列表...)
注:a、并非一定要列出表中的每個列,但列出某個列后,必須在insert命令中為它
提供值
b、表名后省略列名,要為除標識列的其他列提供值,且順序一致
c、可顯式插入默認值。default
2、插入Select語句的結果集
基本語法:
insert [into] 表名?[?(列名1,列名2,列名3...)?]? select??columns
from?data?source??[where?conditions]
注:a、select可從任何數據源中獲取數據,并改造
????b、同理,值和列的順序必須相同
3、插入存儲過程返回的結果集
獲取存儲過程返回的數據,并將其插入到表中。
基本語法:
insert [into] 表名?[?(列名1,列名2,列名3...)?]? exec? 存儲過程
參數列表
注:a、存儲過程可能返回多個結果集,insert命令將試圖插入每個結果集中的數
據,因此,必須保證每個結果集的列順序與插入列的順序一致。
b、insert?/?exec?和?select?/?into?都不能用于將數據插入到表變量中
4、創建由默認值組成的行
insert [into] 表名?[?(列名1,列名2,列名3...)?] default?values
注:這是的default?values是關鍵字。
5、插入數據時創建表
在Select語句中使用into選項將創建一個新表來包含Select語句的結果集。
基本語法:
Select clomuns into ??newtable? from? datasource?[?where?conditons]
注:a、若Select語句沒有從表中檢索到行,Select?/?into將創建一個只包含數據架構
的新表
b、若Select語句對列進行了重新排列或使用了Cast()函數等,新表將使用修
改后的數據架構來存儲數據。
c、與聯合查詢結合使用時,Select?/?into能夠垂直地合并多個表中的數據。
(into?必須放在第一個Select語句中)
d、Select?/?into,非常適用于對表進行逆規范化。
?
?
總結
以上是生活随笔為你收集整理的19、SQL Server 数据修改之Insert into的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: log4net小结
- 下一篇: Android 开机自动运行和添加删除桌