python向数据库中添加参数_第四篇:python操作数据库时的传参问题
python在操作數(shù)據(jù)庫(kù)執(zhí)行sql的時(shí)候我們經(jīng)常會(huì)遇到傳參問(wèn)題,以下是我總結(jié)的幾種方法:
1、格式化字符串
city = 'beijing'
cur.execute(“SELECT * FROM %s WHERE city = %s”, city)
2、使用字典傳遞
sql = “INSERT INTO user VALUES(%(username)s, %(password)s, %(email)s)”
value = {“username”:zhangsan,“password”:123456,“email”:123456@ouvps.com}
cur.execute(sql, value)
3、傳遞參數(shù)+參數(shù)名稱(chēng):利用‘三引號(hào)’實(shí)現(xiàn)復(fù)雜SQL的換行,然后對(duì)參數(shù)進(jìn)行拼接,如下樣例中的time,根據(jù)自己的情況而定
def sql_func(time):
time = "'" + time + "'"
fail_sql='''
SELECT substr(s_start_time,1,10) "日期",count(*) "失敗數(shù)量"
FROM T_SG_WS_EXE_LOG L
WHERE 1 = 1
AND (S_WS_METHOD = 'NotifyOrderStatus' OR (S_WS_METHOD = 'placeOrder' AND S_IS_OK = 'false'))
and s_request_str not like '%"deployStatus":"2120"%' and s_request_str not like '%"deployStatus":"0"%'
and substr(s_start_time,1,10) = '''+time +'''group by substr(s_start_time,1,10)
'''
# 使用cursor進(jìn)行各種操作
y=cr.execute(fail_sql)
result = y.fetchall()
return result
參考文檔:https://www.cnblogs.com/goodhacker/p/3257882.html
總結(jié)
以上是生活随笔為你收集整理的python向数据库中添加参数_第四篇:python操作数据库时的传参问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java将录音转换成文字,除了把录音转换
- 下一篇: python 生成器推导式