• python生成1000w的mysql测试数据


    支持参数,可以不加参数

    -p 存储路径 (默认/root/t100w.sql)

    -n 生成多少条数据 (默认 1000001)

    #!/usr/bin/env python
    #-*- coding:utf-8 -*-
    import optparse
    import random
    import time
    
    database = 'create database IF NOT EXISTS test;
    '
    table = '''
    CREATE table if not EXISTS test.t100w(
    id INT not null PRIMARY KEY auto_increment COMMENT '主键',
    k1 char(2) not null default 'a' COMMENT 'k1',
    k2 varchar(20) not null default 'b' COMMENT 'k2',
    in_time datetime not null default now() COMMENT '时间'
    );
    
    '''
    sql = 'insert into test.t100w(k1,k2,in_time) values("%s","%s","%s");
    '
    s = 'qazwsxedcrfvtgbyhnujmikolp'
    
    def createinsert(path,maxnum):
        with open(path,'a') as f:
            f.write(database+table)
            for i in range(1,maxnum):
                k1 = ''.join(random.sample(s,2))
                k2 = ''.join(random.sample(s,4))
                f.write(sql%(k1,k2,time.strftime('%Y-%m-%d')))
    
    
    def verify_argv(options):
            '''
            参数验证
            :param options:
            :param argv:
            :return:
            '''
            path = option.path if option.path else '/root/t100w.sql'
            num = int(option.num) if option.num else 1000001
            return path,num
    
    if __name__ == '__main__':
        op = optparse.OptionParser()
        op.add_option('-p','--path',dest="path",help="目标路径")
        op.add_option('-n', '--num', dest="num", help="生成数量")
        option,argv = op.parse_args()
        path,num = verify_argv(option)
        createinsert(path,num)

     使用方法

    python s.py  -p /data/t1.sql -n 100000

    生成后,登录mysql

    source /data/t1.sql

  • 相关阅读:
    python appium环境搭建
    github 删除某个文件
    python 导入的模块使用了相对路径,导致找不到文件错误
    python asyncio协程
    python 获取调用函数的名字和行号
    monkey测试命令
    python 属性查询顺序,数据描述符
    JS各循环的差别
    AngularJS复习小结
    那些不正经的前端笔试题
  • 原文地址:https://www.cnblogs.com/xieys-1993/p/12171832.html
Copyright © 2020-2023  润新知