将SQL查询存储在字典中?

时间:2016-02-22 18:56:06

标签: 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
;
"""

P.S。我已经知道这对SQLi来说很陌生,我只想先尝试一个原型。

1 个答案:

答案 0 :(得分:1)

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

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']()