Python 操作 mysql数据库 方法 示例
时间: 2025-06-28 21:11:09 浏览: 12
### Python连接MySQL数据库的操作方法
#### 使用`pymysql`库连接到MySQL数据库
为了使Python能够操作MySQL数据库,需要先安装适合的驱动程序。对于Python 3.x版本来说,推荐使用`PyMySQL`作为驱动模块[^1]。
```bash
pip install pymysql
```
#### 创建连接对象并获取游标
建立与MySQL服务器之间的连接是通过调用`pymysql.connect()`函数实现,并传递必要的参数如主机名(`host`)、端口号(`port`)、用户名(`user`)、密码(`passwd`)、默认使用的数据库名称(`db`)以及字符集编码(`charset`)等信息来完成配置[^2]。
```python
import pymysql
connect = pymysql.connect(
host='localhost',
port=3306,
user='root',
passwd='your_passwd', # 替换为实际密码
db='your_database_name', # 替换为目标数据库的名字
charset='utf8'
)
cursor = connect.cursor()
```
#### 执行SQL查询命令
一旦建立了有效的连接之后就可以利用获得的游标对象执行SQL语句了。这里展示了一个简单的例子——显示所有的数据库列表:
```sql
sql = "SHOW DATABASES;"
cursor.execute(sql)
print(cursor.fetchall())
```
这段代码会打印出当前MySQL实例中存在的所有数据库的信息。
#### 错误处理机制
当进行数据库交互的过程中难免会出现一些意外情况或错误发生,在编写应用程序时应该考虑到这一点并通过适当的手段来进行捕捉和响应。可以采用标准的`try-except`结构来管理可能出现的各种类型的异常状况,比如专门针对MySQL产生的错误或者是更广泛的运行时异常[^3]。
```python
try:
# 尝试执行某些数据库操作...
except pymysql.MySQLError as e:
print(f"MySQL Error: {e}")
except Exception as e:
print(f"An unexpected error occurred: {e}")
finally:
cursor.close()
connect.close()
```
上述代码片段展示了如何优雅地关闭资源即使是在发生了未预见的问题的情况下也能确保不会留下打开着的连接或者游标。
#### 增删改查基本操作示例
下面给出了一组关于增加记录(INSERT)、删除记录(DELETE)、更新现有数据(UPDATE)以及检索指定条件下的多条记录(SELECT)的基础CRUD (Create Read Update Delete) 操作的例子[^4]:
##### 插入新纪录
向名为`users`的数据表里添加一条新的用户资料:
```python
insert_sql = """
INSERT INTO users(name, age) VALUES (%s,%s);
"""
data_to_insert = ('John Doe', 30)
cursor.execute(insert_sql, data_to_insert)
connect.commit() # 提交更改以保存至数据库中
```
##### 删除某条记录
移除年龄大于等于50岁的所有用户的记录:
```python
delete_sql = "DELETE FROM users WHERE age >= %s"
age_threshold = 50
cursor.execute(delete_sql, (age_threshold,))
connect.commit()
```
##### 更新已有数据项
修改名字叫'Mary Smith'的人其对应的电子邮箱地址:
```python
update_sql = "UPDATE users SET email=%s WHERE name=%s"
new_email = '[email protected]'
name_of_user = 'Mary Smith'
cursor.execute(update_sql, (new_email, name_of_user))
connect.commit()
```
##### 查询满足特定条件的结果集合
找出所有来自中国并且性别标记为女性('F')的成员名单:
```python
select_sql = "SELECT * FROM members WHERE country=%s AND gender=%s"
search_criteria = ('China', 'F')
cursor.execute(select_sql, search_criteria)
results = cursor.fetchall()
for row in results:
print(row)
```
以上就是有关于怎样运用Python去访问控制MySQL数据库的一些基础知识点介绍及相应实践案例说明。
阅读全文
相关推荐











