在平时的工作中,经常会遇到造数据,特别是性能测试的时候更是需要大量的数据。如果一条条的插入数据库或者一条条的创建数据,效率未免有点低。如何快速的造大量的测试数据呢?在不熟悉存储过程的情况下,今天给大家介绍一种方法,很简单的也很实用。思路是用python代码写一段小程序,生成一定数量的SQL语句,再把这些SQL语句拷贝黏贴到数据库工具执行SQL即可。
假如有个联系人的学生表student,其表结构为姓名name、学校school、电话telphone、邮箱email。
以Mysq为例子,sql语句如下:
INSERT INTO student(name , shool , telephone , email) VALUES(“小明” ,”万航渡路小学” , 13810001000 ,”xiaoming@gmail.com”);
通过python脚本批量生成1000条待插入的SQL语句
# -*- coding: utf-8 -*- __author__ = '肥猫与猪宝宝' f = open('student.txt', 'w') for i in range(1, 1001): str_i = str(i) name = "张三" + str_i school = "万航渡路小学" telephone = 13810000000 + i email = "张三" + str_i + "@gmail.com" sql = 'INSERT INTO student(name , school , telephone , email) VALUES ("'+name+'" , "'+school+'" , '+str(telephone)+' , "'+email+'");' f.write(sql) f.write("\n") f.close()
运行下,在当前工作目录,生成student.txt。
分析下程序
f = open('student.txt', 'w')
用写的方式打开student.txt这个文件,并赋值给f
for i in range(1 , 1001)
for循环,range代表范围但是不包括1001
sql中的“'+name’”就是拼接,让变量被插入sql
f. write
方法写入( )括号内的内容
f.write("\n")
就是写入的内容换行
f.close()
调用close方法关闭文件,有打开就要有关闭。
在student.txt文件中选中全部sql去mysql工具中执行即可,常见的mysql工具有sqlyog、navicat都是很好用的。
到此为止,简单的造数据方法就写完了。