用一條SQL語句實現向資料庫中插入多條記錄的方法

2021-08-29 21:53:52 字數 983 閱讀 5651

[size=large][b][color=darkred]用一條sql語句實現向資料庫中插入多條記錄的方法[/color][/b][/size]

insert一般是用來給表插入一條指定的列值的,但是,insert還存在另一種形式,可以利用它將一條select語句的結果插入表中。這就是所謂的insert select,顧名思義,它是由一條insert語句和一條select語句組成的。假如你從另一張表中合併客戶列表到你的custumers表,不需要每次讀取一行,然後再將它用insert插入,可以如下進行:

insert into custumer(cust_id,

cust_cintact,

cust_name,

cust_email,

cust_address,

cust_country)

select cust_id,

cust_cintact,

cust_name,

cust_email,

cust_address,

cust_country

from custnew;

[color=green][b]分析:[/b][/color]

這個例子使用insert select從custnew中將所有的資料匯入custumer。select語句從custnew檢索出要插入的值,而不是列出它們,select中列出的每個列對應於custumer表明後所跟的列表中的每個列。這條語句檢查露多少行有賴於custnew表中有多少行。如果這個表為空,則沒有行配插入(也不產生錯誤,因為操作仍然是合法的)。

[color=green][b]注意:[/b][/color]

insert select中的列名為簡單起見,這個例子在insert和select語句中使用了相同的列名,但是,不一定要求列名匹配。事實上,dbms甚至不關心select返回的列名,它使用的是列的位置。因此,select中的第一列(不管其列名)將用來填充表列中的指定的第乙個列,第二列將用來填充表列中指定的第二個列,如此等等。

一條sql 語句搞定資料庫分頁

一條語句搞定資料庫分頁 select top 10 b.from select top 20 主鍵字段,排序字段 from 表名 order by 排序字段 desc a,表名 b where b.主鍵字段 a.主鍵字段 order by a.排序字段 10 每頁記錄數 20 當前頁 1 每頁記錄數...

oracle資料庫一條sql語句批量插入資料

最近有個功能是需要重置不同身份的密碼根據不同的規則,其中乙個規則就是手機號碼後六位,有多個身份,並且底層資料封裝的比較死,只能通過公用方法去更新密碼,但是這好幾個身份都有共同的資料特性,使用者編碼,使用者名稱,手機號碼,將這些字段存入一張臨時表,在開始時根據需要選中某個單位的某個身份進行密碼重置,這...

一條SQL語句查詢多個資料庫

調查 spring框架可以配置多資料來源 sql也可以將多個資料庫附加到乙個主資料庫下 解決辦法 用attach database語句將多個庫新增到主庫下,實現功能 語法 attach database www.cppcns.com databasename as alias name 例子 att...