首页 > 文章列表 > 如何使用Python实现批量新增数据到MySQL数据库?

如何使用Python实现批量新增数据到MySQL数据库?

Python mysql
321 2023-05-06

python如何实现Mysql数据库批量新增数据

一、批量插入数据的场景

  • 在进行数据压力时需要进行大数据量的测试

  • 比如登录要进行千人用户同时登录

  • 比如数据加工由于源数据没有,需要我们进行数据库数据的插入

  • 选择方法

  • 使用Jmeter进行接口数据的批量新增

  • 使用存储过程进行数据库的直接操作

  • 使用Python进行数据库的操作

二、插入数据的工具选择

选择方法要根据实际情况进行选择,不是哪一种更好,而是哪一种更能快捷的解决我们的问题,举个栗子来讲;

  • 在我们需要Jmeter操作需要实际批量新增用户,用户需要上传图像,这时候我们应该怎么选择呢?

  • 如果选择使用python,那我们可能需要读取文件操作,名字获取,各个字段的填写等等,会比较麻烦

  • 如果选择存储过程那就有点不太现实怎么用存储过程进行头像的上传操作呢?

所有我们更倾向于选择一个简单便捷的也就是我们的jmeter

回到我们的主题,如果进行数据的批量插入,我们应该怎么选择呢,仅仅对数据库操作,其实我们选存储过程或者python都可,我个人比较倾向于python因为它平时自动化用的也比较多,比较顺手,所以后续是以python为例进行数据库讲解。

三、选择Python进行批量插入

操作以本地Mysql数据库为例

#安装操作数据库的第三方包

C:\Users\Lenovo> pip install pymsql

#全文使用Pycharm进行操作

------------------------------------------------

#导入数据库操作包

import pymysql

#数据库的基本信息[主机、用户名、密码、端口号、连接的数据库]

Host= '127.0.0.1'

user = 'root'

pwd='123456'

port = 3306

database ='sq'

#进行创建数据库的连接

conn = pymysql.connect(host=Host,user=user,password=pwd,port=port,db=database)

#获取游标

cursor = conn.cursor()

#使用format对sql语句进行参数化

sql = "insert into takeout_food values('0{j}','testautoinsert{i}','10','this is auto test','17.jpg');"

#执行数据库的插入语句

j=17

for i in range(1,10):

    j+=1

    data = cursor.execute(sql.format(i=i,j=j))

#连接实例进行数据的提交    

conn.commit()

#关闭游标

cursor.close()

数据展示如下: