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))