如何在 python 中使用 SQL 参数?
我使用的是 python 2.7 和 pymssql 1.9.908。
在.net中查询数据库我会做这样的事情:
using (SqlCommand com = new SqlCommand("select * from Customer where CustomerId = @CustomerId", connection))
{
com.Parameters.AddWithValue("@CustomerID", CustomerID);
//Do something with the command
}
我试图弄清楚python,更具体地说是pymssql的等价物是什么。我意识到我可以只进行字符串格式化,但是这似乎不能像参数那样正确处理转义(我可能是错的)。
我如何在Python中做到这一点?
I am using python 2.7 and pymssql 1.9.908.
In .net to query the database I would do something like this:
using (SqlCommand com = new SqlCommand("select * from Customer where CustomerId = @CustomerId", connection))
{
com.Parameters.AddWithValue("@CustomerID", CustomerID);
//Do something with the command
}
I am trying to figure out what the equivalent is for python and more particularly pymssql. I realize that I could just do string formatting, however that doesn't seem handle escaping properly like a parameter does (I could be wrong on that).
How do I do this in python?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
创建连接对象
db
后运行 db. execute(query, params):然后使用生成的
cursor
对象的任何fetch...
方法。不要被
%s
部分所迷惑:这不是字符串格式化,而是参数替换(不同的 DB API 模块使用不同的语法进行参数替换 - pymssql 只是碰巧使用了不幸的%s
!-)。After creating a connection object
db
run db.execute(query, params):then use any of the
fetch...
methods of the resultingcursor
object.Don't be fooled by the
%s
part: this is NOT string formatting, it's parameter substitution (different DB API modules use different syntax for parameter substitution -- pymssql just happens to use the unfortunate%s
!-).