python-mysql-爲數據庫生成測試數據

測試表

create table single_table (
    id int not null auto_increment,
    key1 varchar(100),
    key2 int,
    key3 varchar(100),
    key_part1 varchar(100),
    key_part2 varchar(100),
    key_part3 varchar(100),
    common_field varchar(100),
    primary key(id),
    key idx_key1 (key1),
    unique key idx_key2 (key2),
    key idx_key3 (key3),
    key idx_key_part(key_part1,key_part2,idx_key3)
) engine=Innodb charset=utf8;

生成測試數據

import mysql.connector as connector
import random as rd
import string as s
import datetime as dt

conn = connector.connect(host='your ip',port=3306,user='your username',password='your password',database='target database name',use_unicode=True)

print(conn)

cursor = conn.cursor()


start = dt.datetime.now()
for index in range(10001):
    key1 = "".join(rd.sample(s.printable,rd.randint(1,100)))
    key2 = str(index)
    key3 = "".join(rd.sample(s.printable,rd.randint(1,100)))
    key_part1 = "".join(rd.sample(s.printable,rd.randint(1,100)))
    key_part2 = "".join(rd.sample(s.printable,rd.randint(1,100)))
    key_part3 = "".join(rd.sample(s.printable,rd.randint(1,100)))
    common_field = "".join(rd.sample(s.printable,rd.randint(1,100)))
    sql = 'insert into single_table (key1,key2,key3,key_part1,key_part2,key_part3,common_field) values(%s,%s,%s,%s,%s,%s,%s)'
    
    cursor.execute(sql,[key1,key2,key3,key_part1,key_part2,key_part3,common_field])

end = dt.datetime.now()
print(end - start)
conn.commit()
cursor.close()
conn.close()




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章