python mysql查询条件带变量方法

python对mysql数据库进行, 查询、更新、删除条件,添加变量的方法

方法一:网上大多能搜索到的是拼接字符串的形式,方法如下:

testcase_id = cur.execute('select * from service_testcase where test_name ="'+name+'"')

其中name为一个可变的字符串变量,要是变量为数值类型的变量,有时候是不好用

方法二:传参方法,方法如下:

cur.execute('update service_jmetertask set result=%s where do_number=%s and testcase_id=%s', (result, do_number, testcase_id))

其中result 是字符串形式的变量,testcase_id /do_number 是数值型变量,这个方法比较推荐

其他方法:

方法一:(拼接)

sql_content = "insert into table(key1,key2,key3) values (%s,%s,%s)"%(value1,value2,value3)
cur.execute(sql_content)

 方法二:(用问号代替)

sql_content = "insert into table(key1,key2,key3) values (?,?,?)"
cur.execute(sql_content,(value1,value2,value3))

实际的一个例子

value = (jmetertask_id,test_name,do_number,threadname,reqname,vuser,tps,averageresponsetime,responsetime_90,standarddeviation,minresponsetime,maxresponsetime,totalreq,errors,persecond,statuscodes,result_time,period,duration)

sql= "insert into service_resultcase (jmetertask_id,test_name,do_number,threadname,reqname,vuser, tps ,averageresponsetime,responsetime_90,standarddeviation,minresponsetime,maxresponsetime,totalreq,errors,persecond,statuscodes,result_time,period,duration) values(%s,'%s',%s,'%s','%s',%s,'%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')" %value
    print sql
    cur.execute(sql)

conn.commit()

是字符串的要加上引号‘’

sql_content = "insert into table(key1,key2,key3) values (?,?,?)"
cur.execute(sql_content,(value1,value2,value3))

猜你喜欢

转载自km-moon11.iteye.com/blog/2163768
今日推荐