# 利用python 生成造数据的sql语句,再去mysql中执行
import random
import time
# 构造表t_user_weight
def create_t_user_weight():
start = time.time()
# 定义需要生成的数据量
count = 10000000 # 1千万
beginID = 2020031
# 打开文件,并动态生成sql数据,将数据存在文件中
try:
with open("./insert_t_user_weight.txt", "wb") as fo:
length = count + 1
for i in range(1, length):
# 定义数据,以下只是测试数据,可以根据自己的业务通过调用函数去随机生成对应的值
id = str(i)
userId = str(beginID + i)
name = ''.join(random.sample('zyxwvutsrqponmlkjihgfedcba', 4)).replace('', '')
sex = str(random.choice(['男', '女']))
weight = str(random.randrange(10, 99))
address = str(random.choice(['北京', '上海', '深圳', '广州', '杭州']))
insert_t_user_weight = (
"INSERT INTO t_user_weight VALUES ('%s', '%s', '%s','%s', '%s', '%s', '%s');"
% (id, userId, name, sex, weight, address, time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
)
insert_t_user_weight = insert_t_user_weight + '\n'
# print(insert_t_user_weight)
fo.write(insert_t_user_weight.encode('UTF-8'))
print('共创建1千万条sql耗时:', time.time() - start)
except Exception as e:
print(Exception, ":", e)
if __name__ == "__main__":
create_t_user_weight()
以上为构造简单数据的python 脚本,若是需要构造多个表关联的数据,也是可以扩展的,只需要根据自己的需求微调或设计一些id再嵌套一个循环即可。