跳到主要内容

MySQL 与Python连接

介绍

在现代应用程序开发中,数据库是不可或缺的一部分。MySQL是一个广泛使用的关系型数据库管理系统,而Python是一种功能强大且易于学习的编程语言。将MySQL与Python结合使用,可以轻松地管理和操作数据库中的数据。

本文将逐步介绍如何使用Python连接MySQL数据库,并执行常见的数据库操作,如查询、插入、更新和删除数据。

准备工作

在开始之前,确保你已经安装了以下工具和库:

  1. MySQL Server:确保你已经安装并运行了MySQL服务器。

  2. Python:确保你已经安装了Python 3.x版本。

  3. MySQL Connector/Python:这是Python连接MySQL的官方库。你可以通过以下命令安装它:

    bash
    pip install mysql-connector-python

连接到MySQL数据库

首先,我们需要在Python中连接到MySQL数据库。以下是一个简单的示例:

python
import mysql.connector

# 创建数据库连接
db = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)

# 创建游标对象
cursor = db.cursor()

# 执行SQL查询
cursor.execute("SELECT * FROM yourtable")

# 获取查询结果
result = cursor.fetchall()

# 打印结果
for row in result:
print(row)

# 关闭游标和数据库连接
cursor.close()
db.close()

代码解释

  1. mysql.connector.connect():用于创建与MySQL数据库的连接。你需要提供主机名、用户名、密码和数据库名称。
  2. cursor():创建一个游标对象,用于执行SQL查询。
  3. execute():执行SQL查询。
  4. fetchall():获取查询结果的所有行。
  5. close():关闭游标和数据库连接。
备注

确保将 yourusernameyourpasswordyourdatabaseyourtable 替换为你自己的数据库信息。

执行SQL操作

查询数据

我们已经在上面的示例中展示了如何查询数据。你可以使用 SELECT 语句从数据库中检索数据。

插入数据

要向数据库中插入数据,可以使用 INSERT INTO 语句。以下是一个示例:

python
sql = "INSERT INTO yourtable (column1, column2) VALUES (%s, %s)"
values = ("value1", "value2")

cursor.execute(sql, values)

# 提交事务
db.commit()

print(cursor.rowcount, "记录插入成功。")

更新数据

要更新数据库中的数据,可以使用 UPDATE 语句。以下是一个示例:

python
sql = "UPDATE yourtable SET column1 = %s WHERE column2 = %s"
values = ("newvalue", "conditionvalue")

cursor.execute(sql, values)

# 提交事务
db.commit()

print(cursor.rowcount, "记录更新成功。")

删除数据

要从数据库中删除数据,可以使用 DELETE 语句。以下是一个示例:

python
sql = "DELETE FROM yourtable WHERE column2 = %s"
values = ("conditionvalue",)

cursor.execute(sql, values)

# 提交事务
db.commit()

print(cursor.rowcount, "记录删除成功。")
警告

在执行 DELETEUPDATE 操作时,请务必小心,以免意外删除或修改重要数据。

实际应用场景

假设你正在开发一个简单的任务管理应用程序。你可以使用MySQL来存储任务数据,并使用Python来管理这些任务。以下是一个简单的示例:

python
import mysql.connector

# 创建数据库连接
db = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="taskmanager"
)

cursor = db.cursor()

# 创建任务表
cursor.execute("CREATE TABLE IF NOT EXISTS tasks (id INT AUTO_INCREMENT PRIMARY KEY, task VARCHAR(255), status VARCHAR(50))")

# 插入新任务
sql = "INSERT INTO tasks (task, status) VALUES (%s, %s)"
values = ("完成项目报告", "进行中")
cursor.execute(sql, values)
db.commit()

# 查询所有任务
cursor.execute("SELECT * FROM tasks")
tasks = cursor.fetchall()
for task in tasks:
print(task)

# 更新任务状态
sql = "UPDATE tasks SET status = %s WHERE task = %s"
values = ("已完成", "完成项目报告")
cursor.execute(sql, values)
db.commit()

# 删除已完成的任务
sql = "DELETE FROM tasks WHERE status = %s"
values = ("已完成",)
cursor.execute(sql, values)
db.commit()

# 关闭连接
cursor.close()
db.close()

总结

通过本文,你已经学会了如何使用Python连接MySQL数据库,并执行常见的数据库操作。这些技能对于开发任何需要数据库支持的应用程序都是至关重要的。

附加资源与练习

  1. 练习:尝试创建一个简单的学生管理系统,使用MySQL存储学生信息,并使用Python进行增删改查操作。
  2. 官方文档:阅读 MySQL Connector/Python 官方文档 以了解更多高级功能。
  3. 进一步学习:探索如何使用ORM(对象关系映射)工具如SQLAlchemy来简化数据库操作。

希望本文对你有所帮助,祝你在编程学习的道路上越走越远!