在 SQL 查询中添加参数 - Python

问题描述 投票:0回答:2

我定义了一个名为 CODE 的参数。

CODE 是字符串列表,例如“Car”、“Bike”、“Boat”等。

我需要执行具有以下模式的 SQL 查询:

SELECT * 
FROM Table 
WHERE CODE = Car

SELECT * 
FROM Table 
WHERE CODE = Bike

等等。

是否可以直接在查询中使用参数?

就像下面这样:

SELECT * 
FROM Table 
WHERE CODE = Parameter CODE?

编辑:

我正在使用 Python 进行查询。变量 CODE 来自数据帧的列,如下所示:

import pandas as pd
import pyodbc                                              

CODE=Table1['CODE']

dbconnection=pyodbc.connect('Driver={SQL Server};'  
'Server=XXXX,1234;'                           
'Database=AAAA;'
'Trusted_Connection=yes;')

sql="SELECT * FROM DATABASE  WHERE CODE = 'Bike'"

Selection=pd.read_sql(sql,dbconnection)
python sql
2个回答
1
投票

如果 CODE 中的值不是一长串,那么您可以执行以下操作:

select * from Table where CODE IN ('Car', 'Bike', 'Boat', 'Motor', ...);

0
投票

您可以使用Python字符串格式来替换该值。一种格式是 f 字符串语法

#OLD (your approach)
sql="SELECT * FROM DATABASE  WHERE CODE = 'Bike'"

#NEW - with formatting
sql=f"SELECT * FROM DATABASE  WHERE CODE = '{CODE}'"

© www.soinside.com 2019 - 2024. All rights reserved.