MySQL中批量插入數據


例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

結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM