zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    函数后面加const
    关于C++ const 的全面总结
    待下载的东西
    GDI与DC
    Windows GDI与DC
    认识句柄
    什么是客户区/非客户区
    OpenCV 2.4.8 +VS2010的开发环境配置
    对话框类的数据交换和检验
    怎么调处vs2010的MSDN帮助文档
  • 原文地址:https://www.cnblogs.com/xieys-1993/p/12171832.html
Copyright © 2011-2022 走看看