MySQL中批量插入資料

2023-01-27 20:51:18 字數 2423 閱讀 7614

例1:

方法一:sql語句操作

delimiter $$                              //以delimiter來標記用$表示儲存過程結束

create procedure pre()           //建立pre()儲存方法

begin                

declare i int;                          //定義i變數

set i=2;

while i<53 do

insert into lineinfo set id=i, linename=concat('北京地鐵',i,'號線');

set i=i+1;

end while;

end

$$ call pre();

drop procedure pre;

select * from lineinfo            //查詢結果

方法二:python語句操作

import pymysql

# 連結資料庫

db = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='123456', db='mydata', charset='utf8')

# 建立遊標物件cursor

cursor = db.cursor()

# 查詢資料庫版本

cursor.execute("select version()")

data = cursor.fetchone()

print(" database version:%s" % data)

# 刪除資料

sql = "delete from lineinfo where id>=2"

cursor.execute(sql)

db.commit()

# 檢視刪除後的結果

sql = "select * from lineinfo"

cursor.execute(sql)

data = cursor.fetchone()

print("刪除後lineinfo表:" + "\n", data)

# 插入資料

sql = "insert into lineinfo (id, linename) values (%s, %s)"

for i in range(2, 10, 1):

linename = "test北京地鐵"+str(i)+"號線"

cursor.execute(sql, (i, linename)) # 傳值

db.commit() # 提交事務

# 檢視插入後的結果

sql2 = "select * from lineinfo"

cursor.execute(sql2)

data2 = cursor.fetchone()

print("插入後lineinfo表:" + "\n", data2)

# 關閉資料庫連線

db.close()

例2:

delimiter $$

create procedure pre()

begin

declare i int;      //列車數

declare j int;      //車廂數

declare k int;     //資料總數

set i=1;           

set j=1;          

set k=1;         

while i<=20 do     

while j<=3 do

insert into deviceinfo set id=k, trainnum=concat(i,'00'),carname=concat(trainnum,j),devicename=concat('第',k,'個裝置'),deviceip=concat('192.168.100.',k),deviceremarks=k;

set j=j+1;

set k=k+1;

end while;

set i=i+1;

set j=1;

end while;

end$$

call pre();

drop procedure pre;

select * from deviceinfo

結果:

MySQL中批量插入資料

不管怎麼樣,你需要大量的資料,那麼問題來了,怎麼快速地插入呢?1.這是我建立的一個批量插入的儲存過程 當然,你可以把引數去掉,一次性插入1w,10w create definer ijdb user1 procedure author copy self in nthousnd int no sql...

mysql批量插入資料

最近在做excel的大批量插入時發現了一個問題。如果一個個插入的話小量的話還好,但是量稍微大一點就非常慢。emm.5w條直接頁面無響應了 然後用了mybatis的批量插入 select last insert id insert into brand brand name,keywords,desc...

MySql批量插入資料

在實際的開發過程中,特別是大型的分散式應用系統,往往會涉及到大批量的資料。那麼在測試的時候就需要準備足夠多的資料以便進行測試。為了提高插入資料的效率,我們可以利用mysql的批量插入資料能力。其實,從本質來說也就是取消jdbc中事務的自動提交,改為手動提交。如果沒有關閉jdbc事務的自動提交,那麼j...