mysql_mock_insert.py 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import random
  2. import pymysql
  3. # 批量模拟数据并插入mysql数据库
  4. # 建立数据库连接
  5. connection = pymysql.connect(
  6. host='mysql.aimpdev.svc.k5.bigtree.zone',
  7. user='test_user',
  8. password='tmOxmmc+3jznq2cX',
  9. database='aimp_model',
  10. cursorclass=pymysql.cursors.DictCursor
  11. )
  12. try:
  13. with connection.cursor() as cursor:
  14. # 生成并执行插入语句
  15. for _ in range(1000):
  16. age = random.randint(18, 65)
  17. workclass = random.choice(['Private', 'Self-emp-not-inc', 'Self-emp-inc', 'Federal-gov', 'Local-gov', 'State-gov', 'Without-pay', 'Never-worked'])
  18. fnlwgt = random.randint(10000, 500000)
  19. education = random.choice(['Bachelors', 'Masters', 'Doctorate', 'Some-college', 'HS-grad', 'Assoc-voc', 'Assoc-acdm', 'Prof-school'])
  20. education_num = random.randint(1, 16)
  21. marital_status = random.choice(['Married-civ-spouse', 'Divorced', 'Never-married', 'Separated', 'Widowed', 'Married-spouse-absent', 'Married-AF-spouse'])
  22. occupation = random.choice(['Tech-support', 'Craft-repair', 'Other-service', 'Sales', 'Exec-managerial', 'Prof-specialty', 'Handlers-cleaners', 'Machine-op-inspct'])
  23. happy = random.randint(0, 1)
  24. birth_date = f"{random.randint(1950, 2005)}-{random.randint(1, 12):02d}-{random.randint(1, 28):02d}"
  25. insert_query = f"INSERT INTO model_train_set (age, workclass, fnlwgt, education, education_num, marital_status, occupation, happy, birth_date) VALUES ({age}, '{workclass}', {fnlwgt}, '{education}', {education_num}, '{marital_status}', '{occupation}', {happy}, '{birth_date}')"
  26. cursor.execute(insert_query)
  27. # 提交事务
  28. connection.commit()
  29. print("数据插入成功!")
  30. except pymysql.Error as e:
  31. print("数据库错误:", e)
  32. finally:
  33. # 关闭数据库连接
  34. connection.close()
  35. print("数据库连接已关闭!")