python - 将 SQL 查询存储在字典中?

标签 python mysql dictionary

在 python 中执行 MySQL 查询的存储过程的最佳方法是什么?

我确实需要能够访问键名,这就是我使用字典的原因。任何建议将不胜感激!

reports = { 'z_report': """
SELECT * FROM calculation1
WHERE owner = "z"
AND calculation1.`Last Seen` > CURDATE() - INTERVAL 7 DAY
;
"""
'y_report': """
SELECT * FROM calculation1
WHERE owner = "y"
AND calculation1.`Last Seen` > CURDATE() - INTERVAL 7 DAY
;
"""
'x_report': """
SELECT * FROM calculation1
WHERE owner = "x"
AND calculation1.`Last Seen` > CURDATE() - INTERVAL 7 DAY
;
"""
'master_report': """
SELECT * FROM calculation1
WHERE calculation1.`Last Seen` > CURDATE() - INTERVAL 7 DAY
;
"""

附:我已经知道这对 SQLi 很脆弱,我只是想先建立一个原型(prototype)。

最佳答案

我并不是说你的方法是好还是坏。我只会解决您的具体问题:您可以将每个查询放入其自己的函数中,例如

def do_z_report():
    # call MySQL with specific z_report query

def do_y_report():
    # call MySQL with specific y_report query

将这些添加到您的字典中:

queries = {'z_report': do_z_report, 'y_report' : do_y_report}

调用函数:

queries['z_report']()
queries['y_report']()

关于python - 将 SQL 查询存储在字典中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35561625/

相关文章:

python - Windows 中的另一个 GDAL 导入错误

python - 使用 sqlite 数据库中的值在 python 中创建文本文件

mysql - 如何在sql中编写多条记录的更新和内部查询

mysql - Wordpress 后期同步/发布到生产环境

python - 对多个参数运行算法的最快方法,过去曾在更改一个变量后运行过该算法

python - 如何将 excel (.xlsx) 文件读入 pyspark 数据框

python - Scrapy 一遍又一遍地为德国网站上的不同网址抓取同一页面

php - 带有电子邮件验证的注册表单无法发送邮件

python - 将列表的列表转换为字典的字典

python - 生成器合并排序的类似字典的可迭代对象