pycharm怎么使用cursor
时间: 2024-12-27 15:23:03 浏览: 13
### 如何在 PyCharm 中使用 Cursor 进行 MySQL 数据库操作
#### 创建数据库连接并获取游标对象
为了在 Python 中执行 SQL 查询,首先需要建立到 MySQL 数据库的连接。通过 `pymysql` 库可以方便地实现这一点。
```python
import pymysql
def create_db_connection():
connection = pymysql.connect(
host='localhost',
port=3306,
user='root',
password='your_password',
database='testdb',
charset='utf8mb4'
)
return connection
```
一旦建立了连接,就可以创建一个游标对象来执行查询命令[^1]:
```python
connection = create_db_connection()
try:
with connection.cursor() as cursor:
sql_query = "SELECT * FROM students"
cursor.execute(sql_query)
finally:
connection.close()
```
这段代码展示了如何打开一个新的事务上下文,并自动关闭游标资源。当不再需要游标时,确保调用了 `.close()` 方法释放资源。
#### 执行简单的 SELECT 查询
下面的例子说明了怎样利用游标去检索数据记录:
```python
with connection.cursor() as cursor:
sql_select_query = "SELECT id, name FROM students WHERE grade > %s"
cursor.execute(sql_select_query, (7,))
result = cursor.fetchall()
for row in result:
print(f"ID: {row['id']}, Name: {row['name']}")
```
这里定义了一个带有参数化的查询字符串 `%s` 来防止 SQL 注入攻击。接着传递实际值 `(7,)` 给 execute 函数作为第二个参数[^2]。
#### 插入新纪录
向表内添加新的条目同样简单明了:
```python
new_student_data = ('John Doe', 'Mathematics')
insert_sql = "INSERT INTO students (`name`, `major`) VALUES (%s, %s)"
with connection.cursor() as cursor:
affected_rows = cursor.execute(insert_sql, new_student_data)
connection.commit()
print(f"{affected_rows} record(s) inserted.")
```
此段脚本构建了一条 INSERT 语句并通过游标的 `execute` 方法发送给服务器处理。最后提交更改以保存至永久存储介质中。
阅读全文