在 Python 中,执行 SQL 查询是一项多功能任务。本文重点讨论读取外部 SQL 文件并执行其中的查询。
从文件执行特定查询时,并不清楚如何定制c.execute() 函数获取查询结果。提供的代码成功执行命令,但需要澄清以下行:
result = c.execute("SELECT * FROM %s;" % table);
理解这一行的关键是Python中的字符串格式。 %s 用作占位符,下面的变量表代替它。例如:
a = "Hi, my name is %s and I have a %s hat" % ("Azeirah", "cool") print(a) # Output: Hi, my name is Azeirah and I have a Cool hat
通过用表变量替换 %s,c.execute() 函数动态执行查询。 for 循环遍历表,允许顺序执行查询。
以下代码提供了一个可重用的函数,用于从文件执行 SQL 脚本:
def executeScriptsFromFile(filename): fd = open(filename, 'r') sqlFile = fd.read() fd.close() sqlCommands = sqlFile.split(';') for command in sqlCommands: try: c.execute(command) except OperationalError, msg: print("Command skipped: ", msg)
要使用它,只需调用:
executeScriptsFromFile('zookeeper.sql')
借助字符串格式化的强大功能,在 Python 中从外部文件执行 SQL 查询变得一个简单的过程,从而实现动态查询执行和高效的数据库操纵。
以上是如何在 Python 中从外部文件执行 SQL 查询?的详细内容。更多信息请关注PHP中文网其他相关文章!