cursor的python
时间: 2024-12-25 11:20:50 浏览: 30
### Python 中游标的使用方法及示例
在数据库操作中,`cursor` 对象用于执行 SQL 查询并处理查询结果。通过 `cursor` 可以方便地与关系型数据库交互。
创建游标对象通常是在建立数据库连接之后完成:
```python
import sqlite3
connection = sqlite3.connect('example.db')
cursor = connection.cursor()
```
#### 执行简单的 SELECT 查询
可以利用游标来执行 SQL 命令,并获取返回的数据集[^1]:
```python
query = "SELECT x FROM Y WHERE z='1'"
cursor.execute(query)
# 获取单条记录
single_result = cursor.fetchone()
# 或者获取所有匹配的结果
all_results = cursor.fetchall()
```
对于较大的数据集,推荐逐行读取而不是一次性加载全部数据到内存中:
```python
for row in cursor.execute("SELECT * FROM large_table"):
print(row)
```
#### 参数化查询防止 SQL 注入攻击
为了安全起见,在构建动态 SQL 语句时应采用参数化方式传递变量值给查询字符串:
```python
unsafe_value = 'user_input'
safe_query = "SELECT id FROM users WHERE username=?"
cursor.execute(safe_query, (unsafe_value,))
results = cursor.fetchall()
```
#### 插入新纪录
除了读取现有数据外,还可以使用游标来进行写入操作,比如向表内添加新的记录:
```python
insert_sql = """INSERT INTO employees(first_name,last_name,email) VALUES(?,?,?)"""
data_tuple = ('John', 'Doe', 'john.doe@example.com')
try:
cursor.execute(insert_sql, data_tuple)
connection.commit() # 提交更改
except Exception as e:
connection.rollback() # 如果发生错误则回滚事务
finally:
connection.close()
```
阅读全文
相关推荐

















