如何在Python中使用复杂的SQL脚本
我可以在Mysql里面写一个存储过程,然后用调用语句来执行它。不过我想用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 个回答
2
如果你不介意多花点资源,可以看看sqlalchemy:
SQLAlchemy是一个Python的SQL工具包和对象关系映射器,它让开发应用的程序员可以充分利用SQL的强大功能和灵活性。
2
嘿,我乐意把它写成一个正式的回答。
用三重引号(即三个连续的引号)包裹的字符串可以包含换行符,而且不会导致语法错误。否则,如果你用的是双引号("string")或单引号('string'),那么在每个换行符前面都需要加一个反斜杠,这样才能正常工作。根据我的经验,这样做很容易出错。:)
另外一点,在Python中,变量名通常是小写字母开头,而以大写字母开头的名字通常是用来命名类的。
所以:
Sql = """SELECT something, something
FROM table
WHERE foo=bar
ORDER BY foo"""