如何在python中使用复杂的SQL脚本

时间:2011-01-25 18:09:42

标签: python sql

我可以在Mysql中编写一个SP并使用call语句执行。但是希望用python写它。我在多行使用sql脚本时遇到困难。

conn = pyodbc.connect('DSN=MySQL;PWD=xxxx') 
csr = conn.cursor()

Sql= 'SELECT something, something 
    FROM table 
    WHERE foo=bar 
    ORDER BY foo '

csr.execute(Sql)
sqld = csr.fetchall()

2 个答案:

答案 0 :(得分:2)

如果您不介意开销,请查看sqlalchemy

  

SQLAlchemy是Python SQL工具包和对象关系映射器,它为应用程序开发人员提供了SQL的全部功能和灵活性。

答案 1 :(得分:2)

嘿,我不介意做出正确的答案。

三引号中的字符串文字可以包含换行符,不会导致语法错误。否则(使用“string”或“string”),您需要在每个换行符之前包含反斜杠才能使其正常工作。从经验来看,这很容易搞砸。 :)

作为次要注释,在Python中,变量通常以小写字母开头,以大写字母开头的名称通常被赋予类。

所以:

Sql = """SELECT something, something 
         FROM table 
         WHERE foo=bar 
         ORDER BY foo"""