在Python中传递SQLite变量时,需要使用占位符(placeholder)来代替变量值。这样可以避免SQL注入攻击,并确保变量值被正确处理。
以下是一个简单的示例,展示了如何在Python中传递SQLite变量:
import sqlite3
# 连接到SQLite数据库
conn = sqlite3.connect('example.db')
# 创建一个游标对象
cursor = conn.cursor()
# 创建一个新表
cursor.execute('''CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')
# 插入一条新记录
name = 'Alice'
age = 25
cursor.execute('''INSERT INTO users (name, age) VALUES (?, ?)''', (name, age))
# 查询表中的所有记录
cursor.execute('''SELECT * FROM users''')
rows = cursor.fetchall()
# 打印查询结果
for row in rows:
print(row)
# 关闭数据库连接
conn.close()
在上面的示例中,我们使用了占位符 ?
来代替变量值。在执行查询时,我们将变量值作为元组传递给 execute()
方法。这样,SQLite会自动对变量值进行转义,以确保它们在查询中被正确处理。
总之,在Python中传递SQLite变量时,需要使用占位符和元组来代替变量值,以避免SQL注入攻击并确保变量值被正确处理。
领取专属 10元无门槛券
手把手带您无忧上云