"""
请参考以下Python脚本示例,可以批量往MySQL数据库guests表的realname,phone,email,sign,event_id字段插入3000条数据
"""
import random
import string
import pymysql
from pypinyin import lazy_pinyin
# MySQL数据库连接配置
db_config = {
'host': '175.178.xx.xx',
'user': 'root',
'password': 'password',
'db': 'guests',
'charset': 'utf8mb4',
'cursorclass': pymysql.cursors.DictCursor
}
# 生成随机字符串
def random_string(length):
letters = string.ascii_lowercase
return ''.join(random.choice(letters) for i in range(length))
# 生成随机手机号码
def random_phone():
prefix = ['130', '131', '132', '133', '134', '135', '136', '137', '138', '139', '150', '151', '152', '153', '154', '155', '156', '157', '158', '159', '186', '187', '188', '189']
return random.choice(prefix) + ''.join(random.choice(string.digits) for i in range(8))
# 连接MySQL数据库
conn = pymysql.connect(**db_config)
# 循环插入3000条数据
for i in range(3000):
# 生成随机数据
xing = random.randint(0x4e00, 0x9fbf)
ming = random.randint(0x4e00, 0x9fbf)
realname=chr(xing)+chr(ming)
#汉字转拼音
realname2=lazy_pinyin(realname)
phone = random_phone()
#email = realname + '@mail.com'
email ="_".join(realname2)+'@mail.com'
sign = random_string(20)
event_id = random.randint(1, 10)
# 插入数据
with conn.cursor() as cursor:
sql = "INSERT INTO guests (realname, phone, email, sign, event_id) VALUES (%s, %s, %s, %s, %s)"
cursor.execute(sql, (realname, phone, email, sign, event_id))
conn.commit()
# 关闭数据库连接
conn.close()
一个用来往数据库表生成大量数据的样例
于 2023-04-15 19:28:01 首次发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)