当前位置:   article > 正文

python faker批量生成数据写入MySQL_python faker 生成sql

python faker 生成sql
  1. import pymysql
  2. from faker import Faker
  3. import random
  4. conn = pymysql.connect(
  5. host='主机名或IP地址',
  6. user='用户名',
  7. password='密码',
  8. database='数据库名',
  9. port=3306 # 端口
  10. )
  11. # 创建游标对象
  12. cur = conn.cursor()
  13. # 创建faker对象,用于生成数据
  14. faker = Faker('zh_CN')
  15. # 定义要插入的表名
  16. table_name = 'table_name'
  17. def generate_and_insert_data(table_name,conn,cur,num_rows):
  18. job_id1 = ["job001","job002","job003"]
  19. # 生成列名
  20. columns = '(user_id,user_name,user_age,job_id,job_age,job_enable,city,work_date)'
  21. # 生成值
  22. values = [(faker.pystr(min_chars=8,max_chars=8).upper()+faker.numerify(),
  23. faker.name(),
  24. random.randint(23,55),
  25. random.choice(job_id1),
  26. faker.random_int(min=1,max=10),
  27. random.choice(['true','false']),
  28. faker.city(),
  29. faker.date_between(start_date='-10y',end_date='-1m')) for i in range(1,num_rows+1)]
  30. # 生成批量插入的SQL语句
  31. insert_query = 'INSERT INTO {} {} VALUES %s'.format(table_name,columns)
  32. # 创建批量插入的数据元组列表
  33. execute_values = [(v,) for v in values]
  34. # 执行批量插入
  35. cur.executemany(insert_query,execute_values)
  36. # 提交事务
  37. conn.commit()
  38. # 调用函数,生成并插入数据
  39. num = 10
  40. generate_and_insert_data(table_name,conn,cur,num)
  41. # 关闭游标和连接
  42. cur.close()
  43. conn.close()
  44. print(f'{num}条数据已插入数据库中...')

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/927160
推荐阅读
相关标签
  

闽ICP备14008679号