使用Python对MySQL数据库插入二十万条数据
1、当我们测试的时候需要大量的数据的时候,往往需要我们自己造数据,一条一条的加是不现实的,这时候就需要使用脚本来批量生成数据了。
import pymysql
import random
import string # 建立数据库连接
mysql = pymysql.connect(host="数据库IP", user="数据库用户名",port=3306,password="数据库密码", charset='utf8', autocommit=True)
# 建立游标
cursor = mysql.cursor(pymysql.cursors.DictCursor) # 定义要执行的SQL语句
for i in range(1,200001): # for循环来组合新增语句
jbxx_unid =8183 + i # ID从目前数据库中最大的一个开始
# UUID是32位字母加数字组成,所以先生成随机26位字母加数字随机数,然后加上序号保证UUID的唯一性
ran_str = ''.join(random.sample(string.ascii_letters + string.digits, 26))
i_len = len(str(i))
if i_len == 1:
jbxx_uuid = ran_str.lower() +"00000" + str(i)
elif i_len == 2:
jbxx_uuid = ran_str.lower() + "0000" + str(i)
elif i_len == 3:
jbxx_uuid = ran_str.lower() + "000" + str(i)
elif i_len == 4:
jbxx_uuid = ran_str.lower() + "00" + str(i)
elif i_len == 5:
jbxx_uuid = ran_str.lower() + "0" + str(i)
else:
jbxx_uuid = ran_str.lower() + str(i)
# 需要插入数据的数据要唯一性的都加循环数字
jbxx_psid = 9998942509 + i
jbxx_name = "test" + str(i)
# 新增的SQL语句,用format来替换我们的参数。
sql = """
INSERT INTO `myslave`.`t_ps_jbxx` (
`jbxx_unid`,
`jbxx_uuid`,
`jbxx_cdate`,
`jbxx_udate`,
`jbxx_psid`,
`jbxx_name`,
`jbxx_sex`,
`jbxx_mz`,
`jbxx_zbm`,
`jbxx_zbmczqk`,
`jbxx_gj`,
`jbxx_sjf`,
`jbxx_swf`,
`jbxx_whcd`,
`jbxx_tctsjn`,
`jbxx_birthday`,
`jbxx_sfzhm`,
`jbxx_age`,
`jbxx_zjxy`,
`jbxx_xycd`,
`jbxx_bqmm`,
`jbxx_bqzy`,
`jbxx_rjqzw`,
`jbxx_zffl`,
`jbxx_cyjb`,
`jbxx_sisheqk`,
`jbxx_sishiqk`,
`jbxx_gldj`,
`jbxx_hkfl`,
`jbxx_jjs`,
`jbxx_yyymjjsqk`,
`jbxx_ypxqq`,
`jbxx_ypxqz`,
`jbxx_xxqq`,
`jbxx_xxqz`,
`jbxx_ypxq`,
`jbxx_xxq`,
`jbxx_yx`,
`jbxx_dbjg`,
`jbxx_dbrq`,
`jbxx_spjg`,
`jbxx_pjrq`,
`jbxx_rjsj`,
`jbxx_rdsj`,
`jbxx_gydw`,
`jbxx_drdw`,
`jbxx_dbddqk`,
`jbxx_grjl`,
`jbxx_zybz`,
`jbxx_curs`,
`jbxx_arcode`,
`jbxx_isFull`,
`jbxx_abbr`,
`jbxx_lgf`,
`jbxx_sfzk`,
`jbxx_sfxxy`,
`jbxx_sfem`,
`jbxx_password`,
`jbxx_hy`,
`jbxx_zm`,
`jbxx_xxytype`,
`jbxx_epassword`
)
VALUES
(
'{0}',
'{1}',
'2018-03-23 16:25:37',
'2020-01-07 15:31:51',
'{2}',
'{3}',
'1',
'15',
NULL,
NULL,
'520600',
NULL,
NULL,
'80',
NULL,
'1974-07-08 00:00:00',
NULL,
'45',
'00',
NULL,
'13',
'90000',
'000',
'1',
NULL,
'',
NULL,
NULL,
NULL,
NULL,
NULL,
'2006-12-05 00:00:00',
'2022-09-04 00:00:00',
'2006-12-05 00:00:00',
'2022-09-04 00:00:00',
'150900',
'150900',
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
'3319',
NULL,
NULL,
NULL,
'1',
'0c3be3ee22ab48158433bf0a054edad8',
'3319110000',
'0',
'HPJ',
NULL,
NULL,
'0',
'0',
'123456789',
'20',
'盗窃、抢劫',
'SWFXXY',
''
);
""".format(jbxx_unid,jbxx_uuid,jbxx_psid,jbxx_name)
# 执行SQL语句
cursor.execute(sql)
print("成功插入{}条数据!".format(i)) # 关闭光标对象
cursor.close()
# 关闭数据库连接
print("插入完成所有数据!关闭数据库连接!")
mysql.close()
使用Python对MySQL数据库插入二十万条数据的更多相关文章
- [MyBatis]五分钟向MySql数据库插入一千万条数据 批量插入 用时5分左右
本例代码下载:https://files.cnblogs.com/files/xiandedanteng/InsertMillionComparison20191012.rar 我的数据库环境是mys ...
- [MyBatis]向MySql数据库插入一千万条数据 批量插入用时6分 之前时隐时现的异常不见了
本例代码下载:https://files.cnblogs.com/files/xiandedanteng/InsertMillionComparison20191012.rar 这次实验的环境仍然和上 ...
- 解决Python向MySQL数据库插入中文数据时出现乱码
解决Python向MySQL数据库插入中文数据时出现乱码 先在MySQL命令行中输入如下语句查看结果: 只要character_set_client character_set_database ch ...
- Python向mysql数据库插入数据
一.向表tcolor中插入数据的主要流程如下: import datetimeimport pymysql.cursorsconnection = pymysql.connect(host='loca ...
- 用Python向MySQL数据库插入数据
最近一直在学习MySQL数据库,很感兴趣.这次我做了一个简单的尝试,使用Python3.4与MySQL数据库进行交互,将一份从雪球网上下载的某股票数据上传至MySQL数据库.仅为初学者提供参考,高手请 ...
- mysql 数据库查询最后两条数据
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u011925175/article/details/24186917 有一个mysql数据库的 ...
- Python操作MySQL数据库(二)
pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 下载安装: pip install pymysql 1.执行SQL语句 #!/usr/bin/env pytho ...
- 【java】[sql]使用Java程序向MySql数据库插入一千万条记录,各种方式的比较,最后发现insert批量插入方式对效率提升最明显
我的数据库环境是mysql Ver 14.14 Distrib 5.6.45, for Linux (x86_64) using EditLine wrapper 这个数据库是安装在T440p的虚拟机 ...
- Python数据库(二)-Mysql数据库插入数据
通过python连接mysql数据库,并插入数据 # -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" import pymysql ...
随机推荐
- python 做回归
1 一元线性回归 线性回归是一种简单的模型,但受到广泛应用,比如预测商品价格,成本评估等,都可以用一元线性模型.y = f(x) 叫做一元函数,回归意思就是根据已知数据复原某些值,线性回归(regre ...
- Python利用openpyxl带格式统计数据(2)- 处理mysql数据
上一篇些了openpyxl处理excel数据,再写一篇处理mysql数据的,还是老规矩,贴图,要处理的数据截图: 再贴最终要求的统计格式截图: 第三贴代码: 1 ''' 2 #利用openpyxl向e ...
- frp杀毒软件报毒?
原文地址:https://wuter.cn/1909.html/ 部分用户下载frp之后,windows defender可能会报毒,并且自动删除内网穿透主程序,导致无法穿透. 首先看一下报毒的原理是 ...
- 使用shell发送邮件,方便快捷
目录 前言 鉴赏代码 总结 前言 很多时候我们需要发送邮件,比如定时任务,比如邮件验证码等等. 各大编程语言都可以实现发送邮件功能,但还是太麻烦了,所以通过tcpdump抓包发现smtp发送邮件原理还 ...
- 开发规范(三)数据库 By 阿里
建表规约 索引规约 SQL语句 ORM映射
- 创建txt文件,并且写入内容
使用fopen的w方式就可以创建一个新的txt文件,如果文件名存在该文件内容会消失. 1. fopen的函数原型:FILE * fopen(const char * path,const char * ...
- 关于GDPR,你需要了解的的5件事
GDPR要求组织确保对用户数据进行良好的保护,而不是滥用,使用户获得知情同意,并且违规行为将受到巨额罚款. 欧盟通用数据保护条例(GDPR)于2018年5月25日开始执行.然而直到如今,还是有不少人对 ...
- 拖拽一个元素如此简单,mouse、drag、touch三兄弟的用处
最近需要做一个投票活动,上传图片时需要拖拽.缩放来裁剪图片,vue的组件不少,不过自己动手才能丰衣足食,一味使用别人的组件实在难以进步,所以自己研究一番. 一.mouse.drag.touch傻傻分不 ...
- C#中的格式
格式模式 说明 : d 月中的某一天.一位数的日期没有前导零. dd 月中的某一天.一位数的日期有一个前导零. ddd 周中某天的缩写名称,在 AbbreviatedDayNames 中定义. ddd ...
- MP(MyBatis-Plus)实现乐观锁更新功能
实现步骤 step1:添加乐观锁拦截器 MP的其他拦截器功能可以参考官网 @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { ...