pymysql如何向数据库中插入空数

  作为测试,有没有时候因为分页数据不够多,你没有测试到,而前端又有问题,之前我有时候手动加,现在想了一下,还不如直接用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()

  渣渣小白,每天学习一点,虽然也是会懒得,但是想一点总比不想强哈哈,女神镇楼(我的女神很多,老婆也很多)。
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值