當前位置:首頁 » 編程語言 » sql循環insert多條數據
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql循環insert多條數據

發布時間: 2023-03-06 06:02:01

A. 求sql怎麼一次用insert 添加多條數據

用insert 添加多條數據:
insert into 表1(列名) select 列名 from 表2 --主鍵要自增
對於主鍵不自增的也可以處理,如:建一張臨時表,主鍵ID自增,然後取出要插入有的最大值,把最大值加到臨時表ID上再用:insert into 表1(ID,列名) select ID,列名 from 表2

insertintopersons
(id_p,lastname,firstName,city)
values
(200,'haha','deng','shenzhen'),
(201,'haha2','deng','GD'),
(202,'haha3','deng','Beijing');

B. 求sql怎麼一次用insert 添加多條數據

--一條insert只能插入一行數據,除非你有一個相同數據類型的表需要復製表數據批量插入可以使用
InsertintoTable2(field1,field2,...)selectvalue1,value2,...fromTable1
--要求目標表Table2必須存在,由於目標表Table2已經存在,所以我們除了插入源表Table1的欄位外,還可以插入常量。

C. 求sql怎麼一次用insert 添加多條數據

可以一次加入多條記錄。
在SQL
SERVER里邊,多個INSERT
語句之間,用分號(;)或者空格,隔開,這樣資料庫就認為你是在進行多條SQL語句的插入操作。就可以插入多條了。

D. 如何一次插入多條記錄的SQL語句

在使用SQL資料庫的時候,我們也許會需要一次像資料庫中添加多條記錄,那麼我們可以使用SQL語句來實現,該語句具體如下:x0dx0a--添加一條記錄 x0dx0aINSERT INTO tableName(col1,col2,col3) VALUES (1,2,3) x0dx0a x0dx0a--添加多條記錄 x0dx0aINSERT INTO tableName(col1,col2,col3) x0dx0aSELECT 3,4,5 x0dx0aUNION ALL x0dx0aSELECT 6,7,8 x0dx0a x0dx0a--從另外的一張表中讀取多條數據添加到新表中 x0dx0aINSERT INTO tableName(col1,col2,col3) x0dx0aSELECT a,b,c FROM tableA x0dx0a x0dx0a--從其他的多張表中讀取數據添加到新表中 x0dx0aINSERT INTO tableName(col1,col2,col3) x0dx0aSELECT a,b,c FROM tableA WHERE a=1 x0dx0aUNION ALL x0dx0aSELECT a,b,c FROM tableB WHERE a=2 x0dx0a上邊代碼中的into都可以省略!x0dx0a上邊代碼中的union all如果換成union,則相同記錄只插入一次,不會重復插入。x0dx0a另外一種方法是SQL Server2008特有的,所以,如果你不是SQL Server2008,就不能使用這種方法了。 x0dx0aINSERT INTO MyTable(ID,NAME)VALUES(7,顛'),(8,顜'),(9,顝')x0dx0acreate table [TEST]x0dx0a(x0dx0a [NUM_ID] int primary keyx0dx0a)x0dx0agox0dx0adeclare @temp intx0dx0aset @temp=1;x0dx0awhile @temp<=1000000 x0dx0abeginx0dx0ainsert into [TEST]([NUM_ID]) values(@temp)x0dx0aset @temp=@temp+1;x0dx0aendx0dx0agox0dx0a----------------------------------------------------------x0dx0a--試試下面的方法x0dx0a--2005x0dx0aDECLARE @n AS BIGINT;x0dx0aSET @n = 1000000;x0dx0aWITH Base ASx0dx0a(x0dx0a SELECT 1 AS nx0dx0a UNION ALLx0dx0a SELECT n + 1 FROM Base WHERE n < CEILING(SQRT(@n))x0dx0a),x0dx0aExpand ASx0dx0a(x0dx0a SELECT 1 AS cx0dx0a FROM Base AS B1, Base AS B2x0dx0a),x0dx0aNums ASx0dx0a(x0dx0a SELECT ROW_NUMBER() OVER(ORDER BY c) AS nx0dx0a FROM Expandx0dx0a)x0dx0aSELECT n FROM Nums WHERE n <= @nx0dx0aOPTION(MAXRECURSION 0);x0dx0a--2x0dx0aCREATE FUNCTION dbo.fn_nums(@n AS BIGINT) RETURNS WITHx0dx0a L0 AS(SELECT 1 AS c UNION ALL SELECT 1),x0dx0a L1 AS(SELECT 1 AS c FROM L0 AS A, L0 AS B),x0dx0a L2 AS(SELECT 1 AS c FROM L1 AS A, L1 AS B),x0dx0a L3 AS(SELECT 1 AS c FROM L2 AS A, L2 AS B),x0dx0a L4 AS(SELECT 1 AS c FROM L3 AS A, L3 AS B),x0dx0a L5 AS(SELECT 1 AS c FROM L4 AS A, L4 AS B),x0dx0a Nums AS(SELECT ROW_NUMBER() OVER(ORDER BY c) AS n FROM L5)x0dx0a SELECT n FROM Nums WHERE n <= @n;x0dx0aGOx0dx0a--2000 這個會比前兩個慢,但是前兩個2000不能用x0dx0aCREATE TABLE dbo.Nums(n INT NOT NULL PRIMARY KEY);x0dx0aDECLARE @max AS INT, @rc AS INT;x0dx0aSET @max = 1000000;x0dx0aSET @rc = 1;x0dx0aINSERT INTO Nums VALUES(1);x0dx0aWHILE @rc * 2 <= @maxx0dx0aBEGINx0dx0a INSERT INTO dbo.Nums SELECT n + @rc FROM dbo.Nums;x0dx0a SET @rc = @rc * 2;x0dx0aENDx0dx0aINSERT INTO dbo.Numsx0dx0a SELECT n + @rc FROM dbo.Nums WHERE n + @rc <= @max; x0dx0a--------------------------------------------------------------------------------------------------------

E. 如何在SQLserver中利用循環語句插入大量的數據

這個在sqlserver裡面比較不好做,要用到sql語言中的變數並且sql語音沒有for不過有while,不過一般數據都不會這樣批量輸入,畢竟不是每條數據都之間都存在內在的聯系。如果你真的想用for語句進行錄入的話,你就用visual studio連接你的資料庫用c#代碼來完成這個活。

F. 求sql怎麼一次用insert 添加多條數據

如果是sqlserver支持多sql語句,你可以將所有的insert拼接成字元串,一起發送到伺服器

或者你可以批量插入另一個數據集的數據
insert xxx(id,name) select id,name from xxx

G. 求sql怎麼一次用insert 添加多條數據

資料庫是沒有真正的批量新增記錄。因為每新增一個條記錄資料庫系統要進行校驗,比如觸發器。
可以用多條insert語句,類似批量添加多條記錄。
比如 :
insert into table values(var1...);
insert into table values(var2...);
...
insert into table values(varN...);
不過,實質上資料庫還是逐條添加的,並不是同時添加所以盡量。

H. 求sql怎麼一次用insert 添加多條數據

資料庫沒有真正意義的多條數據同時添加。
只是把多條insert語句連續書寫,實際還是一條一條添加。
資料庫每一條記錄添加會有相關觸發操作,比如主鍵判斷、觸發器,所以不可能同時添加多條記錄。