我可以在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()
答案 0 :(得分:2)
如果您不介意开销,请查看sqlalchemy:
SQLAlchemy是Python SQL工具包和对象关系映射器,它为应用程序开发人员提供了SQL的全部功能和灵活性。
答案 1 :(得分:2)
三引号中的字符串文字可以包含换行符,不会导致语法错误。否则(使用“string”或“string”),您需要在每个换行符之前包含反斜杠才能使其正常工作。从经验来看,这很容易搞砸。 :)
作为次要注释,在Python中,变量通常以小写字母开头,以大写字母开头的名称通常被赋予类。
所以:
Sql = """SELECT something, something
FROM table
WHERE foo=bar
ORDER BY foo"""