pymysql的使用
时间: 2025-05-12 10:43:49 浏览: 14
### PyMySQL 使用教程
#### 安装 PyMySQL
要在 Python 中使用 PyMySQL 库,需先完成安装。可以通过 `pip` 工具来快速安装此库[^3]。
```bash
pip install pymysql
```
如果当前环境为 Python 3,则可以显式调用:
```bash
pip3 install pymysql
```
---
#### 连接到 MySQL 数据库
要建立与 MySQL 数据库的连接,需要提供必要的参数,例如主机地址、用户名、密码以及目标数据库名称。以下是基本的连接方法[^1]:
```python
import pymysql
connection = pymysql.connect(
host='localhost', # 主机名/IP 地址
user='root', # 用户名
password='password', # 密码
database='test_db' # 要使用的数据库名称
)
print("成功连接到数据库")
```
上述代码中的 `host`, `user`, `password`, 和 `database` 参数可以根据实际需求替换为具体的值。
---
#### 执行 SQL 查询
一旦建立了数据库连接,就可以通过游标对象 (Cursor Object) 来执行 SQL 命令并获取结果。下面是一个简单的查询示例:
```python
try:
with connection.cursor() as cursor:
sql_query = "SELECT * FROM users WHERE id=%s"
cursor.execute(sql_query, ('1',)) # 绑定变量防止SQL注入
result = cursor.fetchone()
print(result)
finally:
connection.close()
```
在此例子中,`cursor.execute()` 方法被用来运行一条 SELECT 语句,并绑定了一个安全的占位符 `%s` 防止 SQL 注入攻击。
---
#### 插入数据
向表中插入新记录的操作如下所示:
```python
with connection.cursor() as cursor:
insert_sql = "INSERT INTO users(name, email) VALUES (%s, %s)"
cursor.execute(insert_sql, ("Alice", "[email protected]"))
# 提交事务以保存更改
connection.commit()
print("数据已成功插入")
```
注意,在修改数据库之后(如 INSERT/UPDATE/DELETE),通常需要调用 `connection.commit()` 显式提交事务。
---
#### 更新和删除数据
更新现有记录或删除特定记录也可以借助类似的语法结构实现:
##### 更新操作
```python
update_sql = "UPDATE users SET name=%s WHERE id=%s"
with connection.cursor() as cursor:
cursor.execute(update_sql, ("Bob Updated", '2'))
connection.commit()
```
##### 删除操作
```python
delete_sql = "DELETE FROM users WHERE id=%s"
with connection.cursor() as cursor:
cursor.execute(delete_sql, ('3',))
connection.commit()
```
以上两个片段分别展示了如何更新某条记录的名字字段以及按 ID 删除指定用户的信息。
---
#### 处理异常情况
为了增强程序健壮性,建议加入错误处理机制捕获可能发生的异常状况[^2]:
```python
try:
with connection.cursor() as cursor:
query = "SELECT non_existent_column FROM users"
cursor.execute(query)
except pymysql.MySQLError as e:
print(f"MySQL 错误 {e.args[0]}: {e.args[1]}")
finally:
connection.close()
```
这里利用了 try-except 结构捕捉任何潜在的数据库访问问题,并打印相应的错误消息给开发者查看。
---
### 总结
PyMySQL 是一个功能强大又灵活易用的工具包,它允许开发人员仅依靠纯 Python 编写就能方便快捷地同 MySQL 数据库展开互动交流活动。无论是基础的数据检索还是复杂的业务逻辑构建都能胜任出色表现出来。
---
阅读全文
相关推荐


















