使用Python对MySQL数据库插入二十万条数据
时间:2021-07-01 10:21:17
帮助过:4人阅读
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数据库插入二十万条数据
标签:建立数据库 对象 let orm lse com arc asc test