怎么批量插入mysql數據庫(1000條)
樓至可以使用jdbc預編譯+批量更新,這樣的執行效率最高。
具體是這樣使用的:
循環2000條數據例如數據被裝到了一個名叫dataList的List<Map<String,String>>;中,那么批量更新就是這樣執行的
Map map = null;
String data1= "";
String data2 = "";
String sql = insert into biao values(?,?);
PreparedStatement preStmt = *eStatement(sql);
for(i = 0;i<*();i++){
map = *(i);
data1=*("data1");
data2 = *("data2");
*ing(1,data1);
*ing(2, data2);
*ch();
}
*eBatch();
*atch();
mysql批量插入數據怎么寫sql語句呢
如果ID是自增的話就這樣
INSERT INTO tablename VALUES(('name1'),('name2'),('name3'),('name4'))
否則就這樣
INSERT INTO tablename VALUES(('1','name1'),('3','name2'),('2','name3'),('8','name4'))
當然也可以這樣寫,上面的是簡化的
INSERT INTO tablename (name)VALUES (('name1'),('name2'),('name3'),('name4'))
INSERT INTO tablename (id,name) VALUES (('1','name1'),('3','name2'),('2','name3'),('8','name4'))
mysql批量插入數據
不用INSERT INTO 難不成用UPDATE,數據導入3000條貌似不多吧
你要這么一說,還真有點難度了,因為數據類型不一樣,還不能用數組,貌似沒有什么絕竅
不過你可以直接用EXCEL中的CONCATENATE()函數把你的數據轉換成SQL輸入語句
然后把這個輸入語句腳本放到一個文件中,如*
接著用類似下面的代碼把這個腳本導入MYSQL執行
!$db->select_db('databasename')&&exit($db->error()); //選擇當前數據庫
if(!file_exists("./*"))exit("載入\"*\"失敗!");
$import_sql=file_get_contents("*",dirname(__FILE__)); //打開SQL文件并讀取
$explode = explode(";",$import_sql);
$cnt = count($explode);
for($i=0;$i<$cnt ;$i++){
!$db->query($explode[$i])&&exit("導入數據表失敗!");
}
echo "已建立數據表。<br><br>\n";
mysql 怎么用insert批量插入數據
一次插入多行數據
insert into 表名[(字段列表)]
values(值列表1),(值列表2),。(值列表n);
例如:
insert into students(sid,sname,dob) values
('001','張三','2001-02-03'),
('002','李四','2002-02-03'),
('003','王五','2003-02-03');
將一張表或查詢中的數據插入到另一張表里
insert into 表名(字段列表) select (字段列表) from 源表 where 篩選表達式;
例如將表2中的記錄全部插入到表1,假設它們的結構一樣
insert into 表1(*) select * from 表2;
mysql批量插入數據
不用INSERT INTO 難不成用UPDATE,數據導入3000條貌似不多吧 你要這么一說,還真有點難度了,因為數據類型不一樣,還不能用數組,貌似沒有什么絕竅 不過你可以直接用EXCEL中的CONCATENATE()函數把你的數據轉換成SQL輸入語句 然后把這個輸入語句腳本放到一個文件中,如* 接著用類似下面的代碼把這個腳本導入MYSQL執行 !$db->select_db('databasename')&&exit($db->error()); //選擇當前數據庫 if(!file_exists("./*"))exit("載入\"*\"失敗!"); $import_sql=file_get_contents("*",dirname(__FILE__)); //打開SQL文件并讀取 $explode = explode(";",$import_sql); $cnt = count($explode); for($i=0;$i<$cnt ;$i++){ !$db->query($explode[$i])&&exit("導入數據表失敗!"); } echo "已建立數據表。
\n";。
轉載請注明出處華閱文章網 » mysql批量insert語句