作为测试,有没有时候因为分页数据不够多,你没有测试到,而前端又有问题,之前我有时候手动加,现在想了一下,还不如直接用python,往数据库里面加数据。
先用
/*他们分别代表数据库地址、端口、用户名、密码、数据库,这样就可以创建连接了*/
db = pymysql.connect(host=xxx,port=xxx,user=xxxx,password=xxx,db=xxx)
然后再用
/*来操作游标*/
cursor=db.cursor()
最后
cursor.execute(sql) /*执行sql*/
不要忘记提交
db.commit() //否则没有数据
但是这样写有问题,就是如果你要执行的比如插入sql里面有为空的数据,在数据库中显示为null,但是python中没有null,只有None怎么办
只需要在 cursor.execute(sql) 加入一个参数,就是将你要插入的数据和sql分开就可以,执行***cursor.execute(sql,val)*** ,参数名不一定叫val,叫什么都可以,详细可以参考一下下面代码
from faker import Faker
import pymysql
import sched
import time
def create_user():
faker = Faker()
db=pymysql.connect(host="127.0.0.1",user="xxxx",password="xxx",port=3306,db='test')
cursor=db.cursor()
for i in range(10):
name1 = '终端'
description = '444999'
status = 2
rule = str({"filter":[{"conditions":[{"field":"content","operator":"=","currentValue":"1111","type":"string"}]}],"identical":["name"],"merge":[],"period":{"unit":"minute","num":240}})
create_time = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
create_id = 3
update_time = None
update_id = None
sql="insert into vital(id,name,description,status,rule,create_time,create_id,update_time,update_id) values(%s,%s,%s,%s,%s,%s,%s,%s,%s);"
val=(i,name1+str(i),description,status,rule,create_time,create_id,update_time,update_id)
cursor.execute(sql,val)
db.commit() #每次提交必须写,否则执行没有结果
# def cycle_create_user():
# s = sched.scheduler(time.time, time.sleep) #第一个参数返回时间戳函数,第二个参数返回未到到时间之前的阻塞
# for i in range(5):
# s.enter(2,1,create_user) #s.enter可以传四个参数,一个间隔时间,优先级,然后被调用函数,一个函数的参数,用tuple形式
# s.run() #这个不是循环,执行完一次之后,就不执行了
if __name__ == '__main__':
create_user()
渣渣小白,每天学习一点,虽然也是会懒得,但是想一点总比不想强哈哈,女神镇楼(我的女神很多,老婆也很多)。