当前位置: 首页 > news >正文

Python 连接数据库实现 CRUD(MySQL)

本指南将演示如何使用 Python 连接 MySQL 数据库,并实现 CRUD(创建、读取、更新、删除)操作。

1. 准备工作

1.1 安装 MySQL 连接器

使用 pip 安装 mysql-connector-python 库:

pip install mysql-connector-python
1.2 准备数据库和表

确保你有一个可用的 MySQL 数据库,并创建一个用于演示的表。例如,创建一个名为 students 的表,包含以下字段:

  • id: INT, 主键,自增

  • name: VARCHAR(255), 姓名

  • age: INT, 年龄

  • major: VARCHAR(255), 专业

你可以使用以下 SQL 语句创建该表:

CREATE TABLE students (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(255) NOT NULL,age INT,major VARCHAR(255)
);

2. 连接数据库

import mysql.connector# 数据库连接信息
config = {'user': 'your_username',  # 替换为你的数据库用户名'password': 'your_password',  # 替换为你的数据库密码'host': 'localhost',  # 替换为你的数据库主机地址'database': 'your_database'  # 替换为你的数据库名称
}# 连接数据库
connection = mysql.connector.connect(**config)# 创建游标对象
cursor = connection.cursor()

代码解释:

  1. 导入库: 导入 mysql.connector 库。

  2. 设置连接信息: 创建一个字典 config,包含数据库连接信息,如用户名、密码、主机地址和数据库名称。

  3. 连接数据库: 使用 mysql.connector.connect(**config) 连接数据库。

  4. 创建游标对象: 使用 connection.cursor() 创建一个游标对象,用于执行 SQL 语句。

3. 实现 CRUD 操作

3.1 创建 (Create)
def create_student(name, age, major):"""创建学生记录。Args:name: 学生姓名。age: 学生年龄。major: 学生专业。"""sql = "INSERT INTO students (name, age, major) VALUES (%s, %s, %s)"values = (name, age, major)cursor.execute(sql, values)connection.commit()  # 提交更改到数据库print(f"学生记录 '{name}' 已创建。")# 示例用法
create_student("张三", 20, "计算机科学")

代码解释:

  1. 定义函数 create_student: 该函数接收学生姓名、年龄和专业作为参数,用于创建学生记录。

  2. 构建 SQL 语句: 使用参数化查询构建 SQL INSERT 语句,防止 SQL 注入攻击。

  3. 执行 SQL 语句: 使用 cursor.execute(sql, values) 执行 SQL 语句,并将学生信息作为参数传递。

  4. 提交更改: 使用 connection.commit() 将更改提交到数据库。

3.2 读取 (Read)
def get_all_students():"""获取所有学生记录。"""sql = "SELECT * FROM students"cursor.execute(sql)students = cursor.fetchall()  # 获取所有结果for student in students:print(student)# 示例用法
get_all_students()

代码解释:

  1. 定义函数 get_all_students: 该函数用于获取所有学生记录。

  2. 构建 SQL 语句: 使用 SELECT * 查询所有学生信息。

  3. 执行 SQL 语句: 使用 cursor.execute(sql) 执行 SQL 语句。

  4. 获取结果: 使用 cursor.fetchall() 获取所有查询结果,并遍历打印每个学生信息。

3.3 更新 (Update)
def update_student_age(student_id, new_age):"""更新学生年龄。Args:student_id: 学生 ID。new_age: 新的年龄。"""sql = "UPDATE students SET age = %s WHERE id = %s"values = (new_age, student_id)cursor.execute(sql, values)connection.commit()print(f"学生 ID 为 {student_id} 的记录已更新。")# 示例用法
update_student_age(1, 21)  # 将 ID 为 1 的学生的年龄更新为 21

代码解释:

  1. 定义函数 update_student_age: 该函数接收学生 ID 和新的年龄作为参数,用于更新学生年龄。

  2. 构建 SQL 语句: 使用参数化查询构建 SQL UPDATE 语句。

  3. 执行 SQL 语句: 使用 cursor.execute(sql, values) 执行 SQL 语句,并传递学生 ID 和新的年龄作为参数。

  4. 提交更改: 使用 connection.commit() 将更改提交到数据库。

3.4 删除 (Delete)
def delete_student(student_id):"""删除学生记录。Args:student_id: 学生 ID。"""sql = "DELETE FROM students WHERE id = %s"values = (student_id,)cursor.execute(sql, values)connection.commit()print(f"学生 ID 为 {student_id} 的记录已删除。")# 示例用法
delete_student(1)  # 删除 ID 为 1 的学生记录

代码解释:

  1. 定义函数 delete_student: 该函数接收学生 ID 作为参数,用于删除学生记录。

  2. 构建 SQL 语句: 使用参数化查询构建 SQL DELETE 语句。

  3. 执行 SQL 语句: 使用 cursor.execute(sql, values) 执行 SQL 语句,并传递学生 ID 作为参数。

  4. 提交更改: 使用 connection.commit() 将更改提交到数据库。

4. 关闭连接

python
复制代码
# 关闭游标和连接
cursor.close()
connection.close()

代码解释: 完成数据库操作后,记得关闭游标对象和数据库连接,释放资源。

希望本指南能够帮助你理解如何使用 Python 连接 MySQL 数据库并执行 CRUD 操作!

如果对你有帮助,记得点赞分享支持一下~


http://www.mrgr.cn/news/2843.html

相关文章:

  • 在 Vue 2.0 中集成 Markdown 编辑器
  • 平衡二叉树、B树、B+树、红黑树解析
  • WEB渗透免杀篇-Golang免杀
  • JavaScript判断数组是否包含某个值
  • 五大无线领夹麦克风误区科普:领夹麦杂音干扰不耐用问题必须规避
  • Mac文件需要分卷压缩怎么办 Mac上怎么解压分卷压缩的文件
  • 打卡学习Python爬虫第二天|Requests的使用
  • 测绘程序设计|C#基本数据类型|值类型与引用类型
  • Tomcat学习进阶
  • Redis清空缓存
  • Spring 中,获取当前方法的类的代理对象有哪些方法?
  • 计算机Java项目|基于SpringBoot的农商对接系统的设计与实现
  • 斯坦福UE4 C++课学习补充22:AI行为树-寻路入门
  • windows入侵排查下
  • 华为Mate航天员系列影片引发热潮,Mate 70系列消息引爆网友期待
  • 告别U盘:看医院如何挑选高效安全的文件摆渡系统
  • 案例 | 生产制造中的直线度测量
  • 白骑士的HTML教学高级篇 3.2 高级表单元素
  • 部署同步工具syncthing
  • 微服务可用性设计