mysql中可以這樣:
insert
into test_table (id, name, age)
values(1
,'abc',23
),(2
,'kkk',33
);
以上語句不能在oracle資料庫執行。
oracle中可以這樣:
insert
allinto test_table (id, name, age)
values
('1'
,'ab',23
)into test_table (id, name, age)
values
('2'
,null,33
)select
1from dual;
這個select子句不可以省略,而且不能select空表,否則可能會語句成功執行但是資料並沒有插入。原因見下面——
這條語句實際上是把上面所有的insert into
語句執行下面子查詢查詢結果的條數次。
也就是說,下面子查詢若查詢出1條結果,則所有資料插入1次;若子查詢若查詢出3條結果,則所有資料插入3次。
oracle這個語句通用性更廣一些,因為可以同時往不同表插入資料,且可以保證是乙個事務。
還可以這樣在建立表的同時,批量插入資料:
create
table test_table as
select
'abc' b,
'123' id from dual
union
allselect
'222'
,'222'
from dual
union
allselect
'222'
,'333'
from dual;
若想把查詢結果插入一張已經存在的表:
insert
into table_name_a
(col1, col2, col3)
select col4, col4, col5 from table_name_b
inner
join table_name_b on..
.where..
.
MySQL批量插入多條資料
mysql在插入大量資料 十萬級或者百萬級別 時效率會變得很差,所以需要採用以下方法來提高其插入效率。a 關閉自動提交,改為手動提交 connect.setautocommit false 插入資料完後最後再con.commit b 拆分資料,多執行緒入庫 c 一條插入語句插入多條資料 insert...
Oracle sql批量插入多條資料
在oracle裡面,不支援像mysql那樣直接在後面拼多個記錄。oracle中有兩個方法達到批量插入的效果 insert into pager pag id,pag parent,pag name,pag active select 8000,0,multi 8000 1 from dual uni...
Oracle中插入多條資料
1 oracle中 insert into product id,names,price,code select 100,a 1,1 from dual union select 101,b 2,2 from dual 這裡最好用一次insert,不然效率不高,用多個select.2 mysql中 ...