【发布时间】:2017-07-14 01:15:43
【问题描述】:
我对 Python 比较陌生,我有一个问题:如何将变量输入到 SQL 执行中?
sql = "Insert INTO links VALUES('stackoverflow')"
显然,'stackoverflow' 只是一个字符串,但如果我想插入变量,我需要更改什么?
感谢您的帮助! 美乐杜伦
【问题讨论】:
我对 Python 比较陌生,我有一个问题:如何将变量输入到 SQL 执行中?
sql = "Insert INTO links VALUES('stackoverflow')"
显然,'stackoverflow' 只是一个字符串,但如果我想插入变量,我需要更改什么?
感谢您的帮助! 美乐杜伦
【问题讨论】:
您似乎需要的是一个动态格式化的字符串,Python 的格式为:
stackoverflowString = "stackoverflow"
sql = ("Insert INTO links VALUES('%s')" % stackoverflowString)
这将替换 SQL 语句中的字符串 stackoverflowString。
【讨论】:
stackoverflowString 是 'DROP TABLE links;-- 会发生什么? (提示:没什么好)。查询需要正确参数化。
cursor.execute(insert_statement, data) 可以正常工作,没有理由自制这些东西。