python sql 占位符
时间: 2023-09-06 16:06:45 浏览: 158
Python 占位符的使用方法详解
在 Python 中,可以使用占位符来构建 SQL 查询语句,以防止 SQL 注入攻击。Python 提供了多种方式来使用占位符,下面是几种常见的方式:
1. 使用问号占位符(?):
```python
import sqlite3
conn = sqlite3.connect('database.db')
cursor = conn.cursor()
sql = "SELECT * FROM table WHERE column = ?"
params = ('value',)
cursor.execute(sql, params)
rows = cursor.fetchall()
```
2. 使用命名占位符(:name):
```python
import sqlite3
conn = sqlite3.connect('database.db')
cursor = conn.cursor()
sql = "SELECT * FROM table WHERE column = :value"
params = {'value': 'some_value'}
cursor.execute(sql, params)
rows = cursor.fetchall()
```
3. 使用百分号占位符(%s,%d,%f 等):
```python
import MySQLdb
conn = MySQLdb.connect('localhost', 'username', 'password', 'database')
cursor = conn.cursor()
sql = "SELECT * FROM table WHERE column = %s"
params = ('value',)
cursor.execute(sql, params)
rows = cursor.fetchall()
```
这些只是其中一些常见的占位符用法,具体使用哪种方式取决于你所使用的数据库驱动和具体的需求。请根据自己的情况选择合适的方法。
阅读全文