使用Python对MySQL数据库插入二十万条数据

1、当我们测试的时候需要大量的数据的时候,往往需要我们自己造数据,一条一条的加是不现实的,这时候就需要使用脚本来批量生成数据了。

import pymysql
import random
import string

# 建立数据库连接
mysql =  pymysql.connect(host="数据库IP", user="数据库用户名",port=3306,password="数据库密码", charset=‘utf8‘, autocommit=True)
# 建立游标
cursor = mysql.cursor(pymysql.cursors.DictCursor)

# 定义要执行的SQL语句
for i in range(1,200001):  # for循环来组合新增语句
    jbxx_unid =8183 + i     # ID从目前数据库中最大的一个开始
    #   UUID是32位字母加数字组成,所以先生成随机26位字母加数字随机数,然后加上序号保证UUID的唯一性
    ran_str = ‘‘.join(random.sample(string.ascii_letters + string.digits, 26))
    i_len = len(str(i))
    if i_len == 1:
        jbxx_uuid = ran_str.lower() +"00000" + str(i)
    elif i_len == 2:
        jbxx_uuid = ran_str.lower() + "0000" + str(i)
    elif i_len == 3:
        jbxx_uuid = ran_str.lower() + "000" + str(i)
    elif i_len == 4:
        jbxx_uuid = ran_str.lower() + "00" + str(i)
    elif i_len == 5:
        jbxx_uuid = ran_str.lower() + "0" + str(i)
    else:
        jbxx_uuid = ran_str.lower() + str(i)
    #   需要插入数据的数据要唯一性的都加循环数字
    jbxx_psid = 9998942509 + i
    jbxx_name = "test" + str(i)
    #   新增的SQL语句,用format来替换我们的参数。
    sql = """
    INSERT INTO `myslave`.`t_ps_jbxx` (
        `jbxx_unid`,
        `jbxx_uuid`,
        `jbxx_cdate`,
        `jbxx_udate`,
        `jbxx_psid`,
        `jbxx_name`,
        `jbxx_sex`,
        `jbxx_mz`,
        `jbxx_zbm`,
        `jbxx_zbmczqk`,
        `jbxx_gj`,
        `jbxx_sjf`,
        `jbxx_swf`,
        `jbxx_whcd`,
        `jbxx_tctsjn`,
        `jbxx_birthday`,
        `jbxx_sfzhm`,
        `jbxx_age`,
        `jbxx_zjxy`,
        `jbxx_xycd`,
        `jbxx_bqmm`,
        `jbxx_bqzy`,
        `jbxx_rjqzw`,
        `jbxx_zffl`,
        `jbxx_cyjb`,
        `jbxx_sisheqk`,
        `jbxx_sishiqk`,
        `jbxx_gldj`,
        `jbxx_hkfl`,
        `jbxx_jjs`,
        `jbxx_yyymjjsqk`,
        `jbxx_ypxqq`,
        `jbxx_ypxqz`,
        `jbxx_xxqq`,
        `jbxx_xxqz`,
        `jbxx_ypxq`,
        `jbxx_xxq`,
        `jbxx_yx`,
        `jbxx_dbjg`,
        `jbxx_dbrq`,
        `jbxx_spjg`,
        `jbxx_pjrq`,
        `jbxx_rjsj`,
        `jbxx_rdsj`,
        `jbxx_gydw`,
        `jbxx_drdw`,
        `jbxx_dbddqk`,
        `jbxx_grjl`,
        `jbxx_zybz`,
        `jbxx_curs`,
        `jbxx_arcode`,
        `jbxx_isFull`,
        `jbxx_abbr`,
        `jbxx_lgf`,
        `jbxx_sfzk`,
        `jbxx_sfxxy`,
        `jbxx_sfem`,
        `jbxx_password`,
        `jbxx_hy`,
        `jbxx_zm`,
        `jbxx_xxytype`,
        `jbxx_epassword`
    )
    VALUES
        (
            ‘{0}‘,
            ‘{1}‘,
            ‘2018-03-23 16:25:37‘,
            ‘2020-01-07 15:31:51‘,
            ‘{2}‘,
            ‘{3}‘,
            ‘1‘,
            ‘15‘,
            NULL,
            NULL,
            ‘520600‘,
            NULL,
            NULL,
            ‘80‘,
            NULL,
            ‘1974-07-08 00:00:00‘,
            NULL,
            ‘45‘,
            ‘00‘,
            NULL,
            ‘13‘,
            ‘90000‘,
            ‘000‘,
            ‘1‘,
            NULL,
            ‘‘,
            NULL,
            NULL,
            NULL,
            NULL,
            NULL,
            ‘2006-12-05 00:00:00‘,
            ‘2022-09-04 00:00:00‘,
            ‘2006-12-05 00:00:00‘,
            ‘2022-09-04 00:00:00‘,
            ‘150900‘,
            ‘150900‘,
            NULL,
            NULL,
            NULL,
            NULL,
            NULL,
            NULL,
            NULL,
            ‘3319‘,
            NULL,
            NULL,
            NULL,
            ‘1‘,
            ‘0c3be3ee22ab48158433bf0a054edad8‘,
            ‘3319110000‘,
            ‘0‘,
            ‘HPJ‘,
            NULL,
            NULL,
            ‘0‘,
            ‘0‘,
            ‘123456789‘,
            ‘20‘,
            ‘盗窃、抢劫‘,
            ‘SWFXXY‘,
            ‘‘
        );
    """.format(jbxx_unid,jbxx_uuid,jbxx_psid,jbxx_name)
    # 执行SQL语句
    cursor.execute(sql)
    print("成功插入{}条数据!".format(i))

# 关闭光标对象
cursor.close()
# 关闭数据库连接
print("插入完成所有数据!关闭数据库连接!")
mysql.close()

原文地址:https://www.cnblogs.com/renshengruxi/p/12166156.html

时间: 2024-10-06 21:21:36

使用Python对MySQL数据库插入二十万条数据的相关文章

python操作mysql数据库(二)

在上一篇文章里面主要介绍了关于python3连接数据库,创建数据库以及创建表的相关内容,在接下来我们试着在我们刚才创建的表中插入数据,并对其做相关探究. #/usr/bin/env python #_*_coding:utf-8_*_ #导入pymysql模块 import pymysql #打开数据库链接 connect=pymysql.connect(host="192.168.186.157",port=3306,user="winner",passwd=&q

用Python向MySQL数据库插入数据

最近一直在学习MySQL数据库,很感兴趣.这次我做了一个简单的尝试,使用Python3.4与MySQL数据库进行交互,将一份从雪球网上下载的某股票数据上传至MySQL数据库.仅为初学者提供参考,高手请不要见笑. 代码已上传至github,欢迎关注: https://github.com/JoshuaHe2015/Python_Code/blob/master/MySQL_test.py 1 import pymysql 2 f = open(r'D:\Data\SZ000839.csv')# L

使用Python向MySQL数据库中存入json类型数据

0.说明 因为出于个人项目的需要,获取到的数据都是json类型的,并且都要存入MySQL数据库中,因为json类型数据不像一般的文本数据,所以在存入MySQL时需要注意的问题很多. 在网上找了很多方法,整理了一下比较实用可靠的,总结下来就是下面的过程: MySQL表中需要保证存储json数据的列类型为BLOB: 使用sql语句时,使用MySQLdb.excape_string函数来对json数据进行转义: 查询数据时,将结果使用json.loads就能够得到原来的Python数据类型: 下面就来

Python数据库(二)-Mysql数据库插入数据

通过python连接mysql数据库,并插入数据 # -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" import pymysql conn = pymysql.connect(host='127.0.0.1',port=3306,user='root',passwd='root',db='niushop_b2c') cursor = conn.cursor() data = [ ('John','abcdef'), ('Jack','

使用Python创建MySQL数据库实现字段动态增加以及动态的插入数据

应用场景: 我们需要设计一个数据库来保存多个文档中每个文档的关键字.假如我们每个文档字符都超过了1000,取其中出现频率最大的为我们的关键字. 假设每个文档的关键字都超过了300,每一个文件的0-299号存储的是我们的关键字.那我们要建这样一个数据库,手动输入这样的一个表是不现实的,我们只有通过程序来帮我实现这个重复枯燥的操作. 具体的示意图如下所示: 首先图1是我们的原始表格: 图1 这个时候我们需要程序来帮我们完成自动字段的创建和数据的插入. 图2 上图是我们整个表的概况.下面我们就用程序来

python + docker, 实现天气数据 从FTP获取以及持久化(二)-- python操作MySQL数据库

前言 在这一节中,我们主要介绍如何使用python操作MySQL数据库. 准备 MySQL数据库使用的是上一节中的docker容器 “test-mysql”. Python 操作 MySQL 我们使用的IDE是 “神奇” 的 pycharm: 1. 首先新建一个python的项目,并且安装 “mysql-connector-python”. “mysql-connector-python” 是MySQL官方对于python的数据驱动,感兴趣的童鞋可以移步这里: https://dev.mysql

Python使用MySQL数据库(新)

之前写过一篇 Python使用MySQL数据库的博客,主要使用的是Python2和MySQLdb驱动. python使用mysql数据库 然而,2016年开始,我从Python2切换到了Python3,Python2已经基本不再使用,MySQLdb驱动从2014年1月停止了维护.所以,打算重新再来写这篇博客. Python2 ---> Python3 MySQLdb --> PyMySQL 一,安装PyMySQL Python是编程语言,MySQL是数据库,它们是两种不同的技术:要想使Pyth

python使用mysql数据库

一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的linux 仓库中都会有mysql ,我们只需要通过一个命令就可以下载安装: Ubuntu\deepin >>sudo apt-get install mysql-server >>Sudo apt-get install  mysql-client centOS/redhat >

python专题-Mysql数据库(python3._+ PyMysql)

之前写过一篇 Python使用MySQL数据库的博客,主要使用的是Python2和MySQLdb驱动. python使用mysql数据库 Python2 ---> Python3 MySQLdb --> PyMySQL 一,安装PyMySQL Python是编程语言,MySQL是数据库,它们是两种不同的技术:要想使Python操作MySQL数据库需要使用驱动.这里选用PyMySQL驱动.下载地址: https://pypi.python.org/pypi/PyMySQL https://git