Python 是一种功能强大的编程语言,广泛应用于各种领域,包括数据库操作。MySQL 是最流行的关系型数据库管理系统之一,它使用 SQL(结构化查询语言)进行数据操作。Python 提供了多种库和模块来与 MySQL 数据库进行交互,其中最常用的是 mysql-connector-python。下面,我将用约 1500 字介绍如何使用 Python 操作 MySQL 数据库,并辅以代码示例。
1. 安装 mysql-connector-python
首先,你需要在你的 Python 环境中安装 mysql-connector-python。你可以使用 pip(Python 的包管理工具)来安装它。在命令行中运行以下命令:
bash
|
pip install mysql-connector-python |
2. 连接到 MySQL 数据库
使用 mysql-connector-python,你可以通过创建一个 mysql.connector.connect() 对象来连接到 MySQL 数据库。你需要提供数据库的主机名、用户名、密码和数据库名等参数。
python
|
import mysql.connector |
|
|
|
# 创建连接 |
|
cnx = mysql.connector.connect(user='yourusername', password='yourpassword', |
|
host='127.0.0.1', |
|
database='yourdatabase') |
|
|
|
# 创建一个游标对象 cursor |
|
cursor = cnx.cursor() |
3. 执行 SQL 查询
一旦你连接到了数据库,你就可以使用游标对象来执行 SQL 查询。
3.1 执行 SELECT 查询
python
|
# 执行 SELECT 查询 |
|
query = ("SELECT * FROM yourtable") |
|
cursor.execute(query) |
|
|
|
# 获取所有结果 |
|
for (id, name, age) in cursor: |
|
print("id: {}, name: {}, age: {}".format(id, name, age)) |
3.2 执行 INSERT 查询
python
|
# 执行 INSERT 查询 |
|
add_student = ("INSERT INTO yourtable (name, age) " |
|
"VALUES (%s, %s)") |
|
data_student = ('John', 20) |
|
|
|
cursor.execute(add_student, data_student) |
|
|
|
# 提交事务 |
|
cnx.commit() |
3.3 执行 UPDATE 查询
python
|
# 执行 UPDATE 查询 |
|
update_student = ("UPDATE yourtable SET age = %s WHERE name = %s") |
|
data_student = (21, 'John') |
|
|
|
cursor.execute(update_student, data_student) |
|
|
|
# 提交事务 |
|
cnx.commit() |
3.4 执行 DELETE 查询
python
|
# 执行 DELETE 查询 |
|
delete_student = ("DELETE FROM yourtable WHERE name = %s") |
|
data_student = ('John',) |
|
|
|
cursor.execute(delete_student, data_student) |
|
|
|
# 提交事务 |
|
cnx.commit() |
4. 关闭连接
当你完成数据库操作后,应该关闭游标和连接以释放资源。
python
|
# 关闭游标 |
|
cursor.close() |
|
|
|
# 关闭连接 |
|
cnx.close() |
5. 错误处理
在实际应用中,你应该添加错误处理代码来捕获和处理可能出现的异常。
python
|
try: |
|
cnx = mysql.connector.connect(user='yourusername', password='yourpassword', |
|
host='127.0.0.1', |
|
database='yourdatabase') |
|
cursor = cnx.cursor() |
|
|
|
# ... 执行 SQL 查询 ... |
|
|
|
except mysql.connector.Error as err: |
|
print(f"Error: '{err}'") |
|
|
|
finally: |
|
if cnx.is_connected(): |
|
cursor.close() |
|
cnx.close() |
6. 总结
Python 提供了 mysql-connector-python 库来与 MySQL 数据库进行交互。通过创建连接、执行 SQL 查询、处理结果和关闭连接等步骤,你可以使用 Python 来读取、插入、更新和删除 MySQL 数据库中的数据。在编写代码时,你应该注意添加错误处理代码来捕获和处理可能出现的异常。此外,还有其他库(如 SQLAlchemy)也提供了更高级别的数据库操作功能,你可以根据需要进行选择。