第四篇:python操作数据库时的传参问题

Posted FelixApff

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第四篇:python操作数据库时的传参问题相关的知识,希望对你有一定的参考价值。

python在操作数据库执行sql的时候我们经常会遇到传参问题,以下是我总结的几种方法:

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、传递参数+参数名称:利用‘三引号’实现复杂SQL的换行,然后对参数进行拼接,如下样例中的time,根据自己的情况而定

def sql_func(time):
time = "\'" + time + "\'"
fail_sql=\'\'\'
SELECT substr(s_start_time,1,10) "日期",count(*) "失败数量"
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进行各种操作
y=cr.execute(fail_sql)
result = y.fetchall()
return result

参考文档:https://www.cnblogs.com/goodhacker/p/3257882.html

 

以上是关于第四篇:python操作数据库时的传参问题的主要内容,如果未能解决你的问题,请参考以下文章

C语言指针进阶第四站:数组/指针的传参问题!

不用Ajax时的传参方法

python第四篇:记录相关操作

深入理解DOM节点类型第四篇——文档片段节点DocumentFragment

第四篇 函数

python 基础第四篇