天天看點

向SqlServer資料庫插入資料

Insert Values

Insert Select

Insert Exec

Select Into

Bulk Insert

Insert Values是最常用的一種插入資料的方式,基本文法如下,表名之後可以指定目标列的名稱,這種顯式的指定目标列的名稱是可選的,但是這種做法的好處是對語句的列值列名之間的關聯關系進行控制,而不必單純的依賴定義表時

各個列出現的順序

 确定列值的優先級順序:給定的值》預設值》Null

Sql2008增強了Values功能,允許在一條語句中指定由逗号隔開的多條記錄

 使用Values建構虛拟表

 Insert Select

 Insert Select 将一組由Select查詢傳回的結果行插入到目标表中(目标表是已經存在的表,這一點和Select Into有差別)

 Insert Exec

  Insert Exec 語句可以把存儲過程或動态Sql批處理傳回的結果集插入到目标表

 Select Into的作用是建立一個目标表,并用傳回的結果集填充它,不能用這個語句向已經存在的表中插入資料,

當指定的目标表是臨時表時自動建立一個臨時表,指定為使用者表時建立一個使用者表,

Select Into 會複制來源表的基本結構(包括列名、資料類型、是否允許NUll以及IDentity屬性),不會複制的三樣東西(限制、索引、觸發器)

Select into的另一個優點:如果資料庫的屬性沒有設定成完成恢複模式,Select into 就會按照最小日志記錄模式來執行操作

 這種方式用的比較少,用于将檔案中的資料導入一個已經存在的表

 示例本例從指定的資料檔案中導入訂單詳細資訊,該檔案使用豎杠 (|) 字元作為字段終止符,使用 |/n 作為行終止符。