使用format传入参数到SQL
时间: 2023-11-26 11:02:27 浏览: 29
使用Python的格式化字符串语法,在SQL语句中使用占位符{},然后在format()方法中传入参数即可。示例如下:
```
import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
# 使用format传入参数
name = 'John'
age = 30
cursor.execute("SELECT * FROM users WHERE name=? AND age=?", (name, age))
rows = cursor.fetchall()
for row in rows:
print(row)
conn.close()
```
在上面的示例中,使用了两个占位符{},然后在execute()方法的第二个参数中传入了一个元组,其中包含了要替换占位符的参数。注意,元组中的参数顺序必须和占位符出现的顺序一致。
相关问题
使用format将参数传入SQL语句
在Python中,可以使用字符串的format方法将参数传入SQL语句。例如:
```python
name = 'Alice'
age = 25
sql = "SELECT * FROM users WHERE name='{}' AND age={}".format(name, age)
```
在这个例子中,我们定义了变量name和age,然后使用format方法将它们传入SQL语句中。在SQL语句中,我们使用了占位符{}来表示需要替换的变量。在format方法中,我们将变量name和age作为参数传递,并按照顺序依次替换占位符。最后得到的SQL语句为:
```
SELECT * FROM users WHERE name='Alice' AND age=25
```
需要注意的是,在使用字符串的format方法替换SQL语句中的变量时,要确保变量的值是被正确转义的,以避免SQL注入攻击。建议使用参数化查询来替代字符串拼接。
使用format传入SQL语句字符串
以下是一个使用format传入SQL语句字符串的例子:
```python
table_name = "customers"
city = "New York"
sql_query = "SELECT * FROM {} WHERE city='{}'".format(table_name, city)
print(sql_query)
```
输出:
```
SELECT * FROM customers WHERE city='New York'
```
在这个例子中,我们使用format方法将table_name和city变量传递到SQL查询字符串中。我们可以在字符串中使用大括号{}来表示需要插入变量的位置,并使用format方法将变量插入到这些位置。