python中的sql。在sql中如何处理字符串

python中的sql。在sql中如何处理字符串,python,postgresql,Python,Postgresql,我在Python中调用SQL,当我尝试在SQL中使用字符串时,它不认为它是一个字符串,因为包含在 >“ >中的整个SQL语句。我该怎么办 这是我的SQLl Python代码。我只想do\u check\u id在这里被视为一个字符串 call.sql("SELECT a.id FROM application a where ed.servicename = 'do_check_id'") 您可能希望尝试使用以下字符串格式 str_val='do_check_id' < >调用.sql(“从应

我在Python中调用SQL,当我尝试在SQL中使用字符串时,它不认为它是一个字符串,因为包含在<代码> >“<代码> >中的整个SQL语句。我该怎么办

这是我的SQLl Python代码。我只想
do\u check\u id
在这里被视为一个字符串

call.sql("SELECT a.id FROM application a where ed.servicename = 'do_check_id'")

您可能希望尝试使用以下字符串格式

str_val='do_check_id'


< >调用.sql(“从应用程序A中选择A.Id,Service Enabe= %s”%Strvar)

< P>如果您想在SQL命令中使用<代码> doyCuthGuID 用于与Postgres进行交互:

cursor.execute("SELECT a.id FROM application a where ed.servicename = %s", do_check_id)

这取决于您的DB驱动程序

Python附带的应用程序使用
实现以下功能:

t = ('RHAT',)
c.execute('SELECT * FROM stocks WHERE symbol=?', t)
其他驱动程序也有类似的功能


不要试图自己构建SQL,有一些陷阱可能会使您的代码容易受到攻击。

这是一个很好的字符串。它有用吗?如果没有,会出现什么错误?向我们展示更多代码和您期望的内容…最好使用
format()
函数:
call.sql(“从应用程序a中选择一个.id,其中ed.servicename={0}”。format(stru val))
1-字符串必须在sql中正确引用。您不能简单地使用Python内置的
%
格式化程序或
.format()
方法替换它们。