SQL?INSERT及批量的幾種方式總結(jié)
1、常規(guī)INSERT寫法
INSERT INTO ... VALUES (...);
INSERT INTO 表名( `字段1`, `字段2`) VALUES ('字段1的值', '字段2的值');
2、SELECT語句返回值INSERT
INSERT INTO ...VALUES (..., (select ...));
INSERT INTO 表名1(`字段1`, `字段2`)
VALUES (字段1的值, (select 查詢字段 from 表名2 where 條件));
也可以變化為查詢多個(gè)字段,再新增數(shù)據(jù)
INSERT INTO ...VALUES (select ...);
INSERT IGNORE INTO `表名1` ( ? `字段1`, ? `字段2` ) SELECT ? `字段3` AS 字段1, ? '字段4' AS 字段2 FROM `表名2` WHERE 條件
注意:查詢出來必須只有一個(gè)行
3、批量多行INSERT
INSERT INTO ... VALUES (...), (...),(...);
INSERT INTO 表名(字段1, 字段2) VALUES (字段1數(shù)據(jù), 字段2數(shù)據(jù)), (字段1數(shù)據(jù), 字段2數(shù)據(jù)), (字段1數(shù)據(jù), 字段2數(shù)據(jù));
或者多行查詢后新增,
INSERT INTO ... VALUES (...,select...), (...,select...),(...,select...);
INSERT INTO 表名1(`字段1`, `字段2`) VALUES (字段1的值, (select 查詢字段 from 表名2 where 條件)), (字段1的值, (select 查詢字段 from 表名3 where 條件)), (字段1的值, (select 查詢字段 from 表名4 where 條件));
或者使用union all:
INSERT INTO ...
(SELECT ...,(select ...) ) union all
(SELECT ...,(select ...) ) union all
(SELECT ...,(select ...) );
INSERT INTO 表名1 (`字段1`, `字段2`) (SELECT 字段1的值,(select 查詢字段 from 表名2 where 條件) FROM 表名3 WHERE 條件) union all (SELECT 字段1的值,(select 查詢字段 from 表名2 where 條件) FROM 表名3 WHERE 條件) union all (SELECT 字段1的值,(select 查詢字段 from 表名3 where 條件) FROM 表名4 WHERE 條件);
分享一下、日常使用到幾種寫法,如有錯(cuò)誤,歡迎指正。
附:插入檢索出的數(shù)據(jù)
INSERT INTO Customers(ID, name, address, city, country) SELECT ID, name, address, city, country from Custnew;
總結(jié)
到此這篇關(guān)于SQL INSERT及批量的幾種方式的文章就介紹到這了,更多相關(guān)SQL INSERT批量方式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mysql 9.0.0創(chuàng)新MSI安裝的實(shí)現(xiàn)
本文提供了MySQL 9.0.0版本的MSI安裝方法,包括安裝前的下載鏈接,安裝過程中的選項(xiàng)介紹,以及安裝完成后的配置指南,具有一定的參考價(jià)值,感興趣的可以了解一下2024-10-10SQL NULL值的定義測(cè)試處理空數(shù)據(jù)及SQL?UPDATE語句使用詳解
這篇文章主要為大家介紹了SQL NULL值的定義測(cè)試處理空數(shù)據(jù)及SQL?UPDATE語句使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11