环境

Windows10+Python3.8+MySQL5.7

需求

在MySQL上构造一个100W条记录的表,要求有日期类型
存放5年的数据。

表结构

+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| time  | datetime    | YES  |     | NULL    |                |
| name  | varchar(20) | YES  |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+

程序

因为需要连接MySQL且生成随机数,所以需要用到pymysql和random包

import pymysql,random

定义函数连接MySQL

def insert():try:db = pymysql.connect("serverip","username","password","db_name" ) cursor=db.cursor()except:print("连接数据库失败")else:print("连接数据库成功")

调用函数

if __name__=="__main__":insert()

在命令行启动python解释器执行代码

F:\dmstudy\Python>python test.py
连接数据库成功

准备一个名字集合存成txt文件

雁卉、迎梦、元柏、代萱、紫真、千青、凌寒、紫安、寒安、怀蕊、秋荷、涵雁、以山、凡梅、盼曼、翠彤、谷冬、新巧、冷安、千萍、冰烟、雅阳、友绿、南松、诗云、飞风、寄灵、书芹、幼蓉、以蓝、笑寒、忆寒、秋烟、芷巧、水香、映之、醉波、幻莲、夜山、芷卉、向彤、小玉、幼南、凡梦、尔曼、念波、迎松、青寒、笑天、涵蕾、碧菡、映秋、盼烟、忆山、以寒、寒香、小凡、代亦、梦露、映波、友蕊、寄凡、怜蕾、雁枫、水绿、曼荷、笑珊、寒珊、谷南、慕儿、夏岚、友儿、小萱、紫青、妙菱、冬寒、曼柔、语蝶、青筠、夜安、觅海、问安、晓槐、雅山、访云、翠容、寒凡、晓绿、以菱、冬云、含玉、访枫、含卉、夜白、冷安、灵竹、醉薇、元珊、幻波、盼夏、元瑶、迎曼、水云、访琴、谷波、乐之、笑白、之山、妙海、紫霜、平夏、凌旋、孤丝、怜寒、向萍、凡松、青丝、翠安、如天、凌雪、绮菱、代云、南莲、寻南、春文、香薇、冬灵、凌珍、采绿、天春、沛文、紫槐、幻柏、采文、春梅、雪旋、盼海、映梦、安雁、映容、凝阳、访风、天亦、平绿、盼香、觅风、小霜、雪萍、半雪、山柳、谷雪、靖易、白薇、梦菡、飞绿、如波、又晴、友易、香菱、冬亦、问雁、妙春、海冬、半安、平春、幼柏、秋灵、凝芙、念烟、白山、从灵、尔芙、迎蓉、念寒、翠绿、翠芙、靖儿、妙柏、千凝、小珍、天巧。妙旋、雪枫、夏菡、元绿、痴灵、绮琴、雨双、听枫、觅荷、凡之、晓凡、雅彤、香薇、孤风、从安、绮彤、之玉、雨珍、幻丝、代梅、香波、青亦、元菱、海瑶、飞槐、听露、梦岚、幻竹、新冬、盼翠、谷云、忆霜、水瑶、慕晴、秋双、雨真、觅珍、丹雪、从阳、元枫、痴香、思天、如松、妙晴、谷秋、妙松、晓夏、香柏、巧绿、宛筠、碧琴、盼兰、小夏、安容、青曼、千儿、香春、寻双、涵瑶、冷梅、秋柔、思菱、醉波、醉柳、以寒、迎夏、向雪、香莲、以丹、依凝、如柏、雁菱、凝竹、宛白、初柔、南蕾、书萱、梦槐、香芹、南琴、绿海、沛儿、晓瑶、听春、凝蝶、紫雪、念双、念真、曼寒、凡霜、飞雪、雪兰、雅霜、从蓉、冷雪、靖巧、翠丝、觅翠、凡白、乐蓉、迎波、丹烟、梦旋、书双、念桃、夜天、海桃、青香、恨风、安筠、觅柔、初南、秋蝶、千易、安露、诗蕊、山雁、友菱、香露、晓兰、白卉、语山、冷珍、秋翠、夏柳、如之、忆南、书易、翠桃、寄瑶、如曼、问柳、香梅、幻桃、又菡、春绿、醉蝶、亦绿、诗珊、听芹、新之、易巧、念云、晓灵、静枫、夏蓉、如南、幼丝、秋白、冰安、秋白、南风、醉山、初彤、凝海、紫文、凌晴、香卉、雅琴、傲安、傲之、初蝶、寻桃、代芹、诗霜、春柏、绿夏、碧灵、诗柳、夏柳、采白、慕梅、乐安、冬菱、紫安、宛凝、雨雪、易真、安荷、静竹、代柔、丹秋、绮梅、依白、凝荷、幼珊、忆彤、凌青、之桃、芷荷、听荷、代玉、念珍、梦菲、夜春、千秋、白秋、谷菱、飞松、初瑶、惜灵、恨瑶、梦易、新瑶、曼梅、碧曼、友瑶、雨兰、夜柳、香蝶、盼巧、芷珍、香卉、含芙、夜云、依萱、凝雁、以莲、易容、元柳、安南、幼晴、尔琴、飞阳、白凡、沛萍、雪瑶、向卉、采文、乐珍、寒荷、觅双、白桃、安卉、迎曼、盼雁、乐松、涵山、恨寒、问枫、以柳、含海、秋春、翠曼、忆梅、涵柳、梦香、海蓝、晓曼、代珊、春冬、恨荷、忆丹、静芙、绮兰、梦安、紫丝、千雁、凝珍、香萱、梦容、冷雁、飞柏、天真、翠琴、寄真、秋荷、代珊、初雪、雅柏、怜容、如风、南露、紫易、冰凡、海雪、语蓉、碧玉、翠岚、语风、盼丹、痴旋、凝梦、从雪、白枫、傲云、白梅、念露、慕凝、雅柔、盼柳、半青、从霜、怀柔、怜晴、夜蓉、代双、以南、若菱、芷文、寄春、南晴、恨之、梦寒、初翠、灵波、巧春、问夏、凌春、惜海、亦旋、沛芹、幼萱、白凝、初露、迎海、绮玉、凌香、寻芹、秋柳、尔白、映真、含雁、寒松、友珊、寻雪、忆柏、秋柏、巧风、恨蝶、青烟、问蕊、灵阳、春枫、又儿、雪巧、丹萱、凡双、孤萍、紫菱、寻凝、傲柏、傲儿、友容、灵枫、尔丝、曼凝、若蕊、问丝、思枫、水卉、问梅、念寒、诗双、翠霜、夜香、寒蕾、凡阳、冷玉、平彤、语薇、幻珊、紫夏、凌波、芷蝶、丹南、之双、凡波、思雁、白莲、从菡、如容、采柳、沛岚、惜儿、夜玉、水儿、半凡、语海、听莲、幻枫、念柏、冰珍、思山、凝蕊、天玉、问香、思萱、向梦、笑南、夏旋、之槐、元灵、以彤、采萱、巧曼、绿兰、平蓝、问萍、绿蓉、靖柏。迎蕾、碧曼、思卉、白柏、妙菡、怜阳、雨柏、雁菡、梦之、又莲、乐荷、寒天、凝琴、书南、映天、白梦、初瑶、恨竹、平露、含巧、慕蕊、半莲、醉卉、天菱、青雪、雅旋、巧荷、飞丹、恨云、若灵、尔云、幻天、诗兰、青梦、海菡、灵槐、忆秋、寒凝、凝芙、绮山、静白、尔蓉、尔冬、映萱、白筠、冰双、访彤、绿柏、夏云、笑翠、晓灵、含双、盼波、以云、怜翠、雁风、之卉、平松、问儿、绿柳、如蓉、曼容、天晴、丹琴、惜天、寻琴、痴春、依瑶、涵易、忆灵、从波、依柔、问兰、山晴、怜珊、之云、飞双、傲白、沛春、雨南、梦之、笑阳、代容、友琴、雁梅、友桃、从露、语柔、傲玉、觅夏、晓蓝、新晴、雨莲、凝旋、绿旋、幻香、觅双、冷亦、忆雪、友卉、幻翠、靖柔、寻菱、丹翠、安阳、雅寒、惜筠、尔安、雁易、飞瑶、夏兰、沛蓝、静丹、山芙、笑晴、新烟、笑旋、雁兰、凌翠、秋莲、书桃、傲松、语儿、映菡、初曼、听云、孤松、初夏、雅香、语雪、初珍、白安、冰薇、诗槐、冷玉、冰巧、之槐、香柳、问春、夏寒、半香、诗筠、新梅、白曼、安波、从阳、含桃、曼卉、笑萍、碧巧、晓露、寻菡、沛白、平灵、水彤、安彤、涵易、乐巧、依风、紫南、亦丝、易蓉、紫萍、惜萱、诗蕾、寻绿、诗双、寻云、孤丹、谷蓝、惜香、谷枫、山灵、幻丝、友梅、从云、雁丝、盼旋、幼旋、尔蓝、沛山、代丝、痴梅、觅松、冰香、依玉、冰之、妙梦、以冬、碧春、曼青、冷菱、雪曼、安白、香桃、安春、千亦、凌蝶、又夏、南烟。靖易、沛凝、翠梅、书文、雪卉、乐儿、傲丝、安青、初蝶、寄灵、惜寒、雨竹、冬莲、绮南、翠柏、平凡、亦玉、孤兰、秋珊、新筠、半芹、夏瑶、念文、晓丝、涵蕾、雁凡、谷兰、灵凡、凝云、曼云、丹彤、南霜、夜梦、从筠、雁芙、语蝶、依波、晓旋、念之、盼芙、曼安、采珊、盼夏、初柳、迎天、曼安、南珍、妙芙、语柳、含莲、晓筠、夏山、尔容、采春、念梦、傲南、问薇、雨灵、凝安、冰海、初珍、宛菡、冬卉、盼晴、冷荷、寄翠、幻梅、如凡、语梦、易梦、千柔、向露、梦玉、傲霜、依霜、灵松、诗桃、书蝶、恨真、冰蝶、山槐、以晴、友易、梦桃、香菱、孤云、水蓉、雅容、飞烟、雁荷、代芙、醉易、夏烟、山梅、若南、恨桃、依秋、依波、香巧、紫萱、涵易、忆之、幻巧、水风、安寒、白亦、惜玉、碧春、怜雪、听南、念蕾、梦竹、千凡、寄琴、采波、元冬、思菱、平卉、笑柳、雪卉、南蓉、谷梦、巧兰、绿蝶、飞荷、平安、孤晴、芷荷、曼冬、寻巧、寄波、尔槐、以旋、绿蕊、初夏、依丝、怜南、千山、雨安、水风、寄柔、念巧、幼枫、凡桃、新儿、春翠、夏波、雨琴、静槐、元槐、映阳、飞薇、小凝、映寒、傲菡、谷蕊、笑槐、飞兰、笑卉、迎荷、元冬、书竹、半烟、绮波、小之、觅露、夜雪、春柔、寒梦、尔风、白梅、雨旋、芷珊、山彤、尔柳、沛柔、灵萱、沛凝、白容、乐蓉、映安、依云、映冬、凡雁、梦秋、醉柳、梦凡、秋巧、若云、元容、怀蕾、灵寒、天薇、白风、访波、亦凝、易绿、夜南、曼凡、亦巧、青易。冰真、白萱、友安、诗翠、雪珍、海之、小蕊、又琴、香彤、语梦、惜蕊、迎彤、沛白、雁山、易蓉、雪晴、诗珊、春冬、又绿、冰绿、半梅、笑容、沛凝、念瑶、天真、含巧、如冬、向真、从蓉、春柔、亦云、向雁、尔蝶

用python读取文件并切割成名字列表

fp=open("name.txt","r",encoding="UTF-8")
names=fp.read().split('、')

生成2015-01-01到2019-12-31之间任意一天的格式化时间

year=random.randint(2015,2019)
month=random.randint(1,12)
day=random.randint(1,31)
time=''.join([str(year),'/',str(month),'/',str(day)])

随机选名

index_name=random.randint(0,len(names)-1)
name=names[index_name]

将数据插入到数据库中

try:cursor.execute("insert into test(time,name) values('{}','{}')".format(time,name))db.commit()
except Exception as e:print("第{}条数据插入失败!原因:{}".format(i,e))
else:print("第{}条数据插入成功!".format(i))

启动循环,批量生成

for i in range(num):index_name=random.randint(0,len(names)-1)year=random.randint(2015,2019)month=random.randint(1,12)day=random.randint(1,31)name=names[index_name]time=''.join([str(year),'/',str(month),'/',str(day)])try:cursor.execute("insert into test(time,name) values('{}','{}')".format(time,name))db.commit()except Exception as e:print("第{}条数据插入失败!原因:{}".format(i,e))else:print("第{}条数据插入成功!".format(i))finally:pass

完整代码

import pymysql,random
def insert(num):fp=open("name.txt","r",encoding="UTF-8")names=fp.read().split('、')pymysql.connect("serverip","username","password","db_name" ) cursor = db.cursor()for i in range(num):index_name=random.randint(0,len(names)-1)year=random.randint(2015,2019)month=random.randint(1,12)day=random.randint(1,31)name=names[index_name]time=''.join([str(year),'/',str(month),'/',str(day)])try:cursor.execute("insert into test(time,name) values('{}','{}')".format(time,name))db.commit()except Exception as e:print("第{}条数据插入失败!原因:{}".format(i,e))else:print("第{}条数据插入成功!".format(i))finally:passdb.close()if __name__=="__main__":insert(1000000)

运行截屏

教你用Python向MySQL中插入一百万条测试数据相关推荐

  1. python向数据库写入数据_如何用Python向Mysql中插入数据

    我们使用Python经常会和Postgresql进行搭配,很少将python和mysql进行搭配.下面小编给大家分享如何用Python向Mysql中插入数据. 工具/原料 Pycharm 方法/步骤 ...

  2. mysql 批量插入300万条测试数据

    # 1.建表 #drop table if exists test_user; create table test_user( id int auto_increment, `name` varcha ...

  3. psid mysql_使用Python对MySQL数据库插入二十万条数据

    importpymysqlimportrandomimportstring#建立数据库连接 mysql = pymysql.connect(host="数据库IP", user=& ...

  4. python 向MySQL里插入中文数据

    用python向MySQL中插入中文数据出错,原代码片段: 1 db = MySQLdb.connect("localhost","root","12 ...

  5. mysql怎么插入时间_如何在MySQL中插入日期?

    在MySQL中插入日期的方法:首先打开脚本文件:然后通过[INSERT INTO tablename (col_name, col_date) VALUE ('DATE: Auto CURDATE() ...

  6. python mysql写入速度加快_解决python写入mysql中datetime类型遇到的问题

    解决python写入mysql中datetime类型遇到的问题 发布时间:2020-08-31 16:46:47 来源:脚本之家 阅读:89 作者:WilliamDescant 刚开始使用python ...

  7. python调用mysql中的自定义function并且返回结果

    首先在Mysql中创立一个叫ForeignKeyTest的function,链接如下: https://blog.csdn.net/appleyuchi/article/details/7945291 ...

  8. python mysql驱动写入datetime类型的数据_解决python写入mysql中datetime类型遇到的问题...

    刚开始使用python,还不太熟练,遇到一个datetime数据类型的问题: 在mysql数据库中,有一个datetime类型的字段用于存储记录的日期时间值.python程序中有对应的一个dateti ...

  9. python matplotlib图中插入表格

    python matplotlib图中插入表格 解决问题 示例代码 结果 解决问题 在matplotlib画的图里插入表格数据.使用到pyplot和gridspec函数. 示例代码 #导入库 impo ...

最新文章

  1. BCH升级在即,半路杀出个“中本聪”
  2. 【Java 新建项目】使用程序对新项目的各个实体 创建Dao、DaoImpl、Service、ServiceImpl层的文件...
  3. Ansible批量添加远程登录用户
  4. java怎么给类中的私有变量赋值_Java学习笔记分享 如何理解接口抽象类和关键字...
  5. TCP协议的粘包问题(数据的无边界性)
  6. NeurIPS 2021有哪些值得读的NLP论文?
  7. 在子线程中创建新的窗体,遇到的问题。
  8. 投资银行对Java进行的二十大核心面试问答
  9. JAVA中PO,BO,VO,DTO,POJO,Entity
  10. 模板引擎工作原理_广州seo了解下搜索引擎的工作原理是什么
  11. 搭建NFS使多个服务器中的web项目共享图片资源
  12. python为什么import不了_解决python有时候import不了当前的包问题
  13. shell 获取ora报错信息_带你了解企业是如何编写脚本的-第2篇:Shell脚本规范
  14. Java 标准计算器(使用SWT做界面)
  15. 双线性插值GPU加速
  16. 用神经网络分类根号2与根号x的数据汇总
  17. 乐视路由器刷机后修改固件成art信息
  18. swiper 轮播 多行多列 横向排列
  19. python中re模块及正则匹配
  20. mos管的rc吸收电路计算_正激式RC吸收电路计算

热门文章

  1. 北科智能车为什么能这么牛?
  2. 怎样度过人生的低潮期?
  3. android 读取手机存储数据恢复,Android手机数据恢复
  4. android删除手机照片恢复软件,安卓手机上照片删除如何恢复?
  5. php 购买车票,jQuery实现买火车票城市选择切换功能
  6. 假如你想成为一名测试工程师(程序员找茬师)
  7. 移动页面input手机键盘中的“搜索”按键
  8. 海德汉仿真软件+海德汉西门子视频教程
  9. 西门子变频器中文调试软件
  10. mybatis-plus快速入门,手把手搭建mybatis-plus第一个项目