网站首页 > 技术教程 正文
这是一篇关于“MySQL数据库入门实战 - Python版”的教程,结合了案例实战分析,帮助初学者快速掌握如何使用Python操作MySQL数据库。
一、环境准备
1. 安装 Python
访问 Python 官方网站,根据你的操作系统(Windows、Mac 或 Linux)下载并安装 Python 3.x 版本。安装时勾选“Add Python to PATH”,方便在命令行中使用 Python。
2. 安装 MySQL 数据库
从 MySQL 官方网站下载适合你操作系统的安装程序,然后按照安装向导进行安装。安装完成后,启动 MySQL 服务,并记住你设置的用户名和密码。
3. 安装 PyMySQL 库
PyMySQL 是一个纯 Python 实现的 MySQL 客户端库,使用它可以方便地在 Python 中连接和操作 MySQL 数据库。在命令行中运行以下命令来安装 PyMySQL:
pip install pymysql
二、连接数据库
以下是连接 MySQL 数据库的示例代码:
import pymysql
def connect_db():
try:
conn = pymysql.connect(
host='localhost', # 数据库主机地址
user='root', # 数据库用户名
password='your_password', # 数据库密码
database='your_database', # 数据库名称
charset='utf8mb4' # 字符编码
)
print("数据库连接成功!")
return conn
except pymysql.Error as e:
print(f"数据库连接失败:{e}")
return None
三、数据库基本操作
1. 创建数据库和表
def create_table(conn):
try:
cursor = conn.cursor()
create_table_sql = """
CREATE TABLE IF NOT EXISTS students (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
age INT,
grade VARCHAR(50)
)
"""
cursor.execute(create_table_sql)
conn.commit()
print("学生表创建成功!")
except pymysql.Error as e:
conn.rollback()
print(f"学生表创建失败:{e}")
2. 插入数据
def insert_student(conn, name, age, grade):
try:
cursor = conn.cursor()
insert_sql = "INSERT INTO students (name, age, grade) VALUES (%s, %s, %s)"
cursor.execute(insert_sql, (name, age, grade))
conn.commit()
print("学生信息插入成功!")
except pymysql.Error as e:
conn.rollback()
print(f"学生信息插入失败:{e}")
3. 查询数据
def query_all_students(conn):
try:
cursor = conn.cursor()
select_sql = "SELECT * FROM students"
cursor.execute(select_sql)
results = cursor.fetchall()
for row in results:
print(row)
except pymysql.Error as e:
print(f"学生信息查询失败:{e}")
4. 更新数据
def update_student(conn, name, age, grade, student_id):
try:
cursor = conn.cursor()
update_sql = "UPDATE students SET name=%s, age=%s, grade=%s WHERE id=%s"
cursor.execute(update_sql, (name, age, grade, student_id))
conn.commit()
print("学生信息更新成功!")
except pymysql.Error as e:
conn.rollback()
print(f"学生信息更新失败:{e}")
5. 删除数据
def delete_student(conn, student_id):
try:
cursor = conn.cursor()
delete_sql = "DELETE FROM students WHERE id=%s"
cursor.execute(delete_sql, (student_id,))
conn.commit()
print("学生信息删除成功!")
except pymysql.Error as e:
conn.rollback()
print(f"学生信息删除失败:{e}")
四、案例实战分析:学生管理系统
以下是一个完整的案例,展示如何使用 Python 和 MySQL 构建一个简单的学生管理系统。
1. 主函数
def main():
conn = connect_db()
if conn:
create_table(conn)
insert_student(conn, 'Alice', 18, 'Grade 12')
insert_student(conn, 'Bob', 17, 'Grade 11')
query_all_students(conn)
update_student(conn, 'Alice Smith', 19, 'Grade 12', 1)
delete_student(conn, 2)
query_all_students(conn)
conn.close()
if __name__ == "__main__":
main()
五、运行结果
运行上述代码后,你将看到以下输出:
数据库连接成功!
学生表创建成功!
学生信息插入成功!
学生信息插入成功!
(1, 'Alice', 18, 'Grade 12')
(2, 'Bob', 17, 'Grade 11')
学生信息更新成功!
学生信息删除成功!
(1, 'Alice Smith', 19, 'Grade 12')
六、Python 和 PyMySQL 库连接 MySQL 数据库,你学会了吗
通过本教程,你已经学会了如何使用 Python 和 PyMySQL 库连接 MySQL 数据库,并进行了数据库的基本操作,包括创建数据库和表、插入数据、查询数据、更新数据和删除数据。
此外,通过学生管理系统的案例实战,你能够更好地理解如何将这些操作应用于实际项目中。
- 上一篇: 红帽Linux中安装mysql8详细步骤
- 下一篇: 超详细的linux部署mysql5.7实战
猜你喜欢
- 2025-05-14 MySQL系列-源码编译安装(v8.0.25)
- 2025-05-14 测试人员如何在linux服务器中查询mysql日志?
- 2025-05-14 linux环境用mysqldump定时备份Mysql数据
- 2025-05-14 MySQL数据库简介及C#中的操作应用实例
- 2025-05-14 oracle和mysql的优缺点对比
- 2025-05-14 MySQL合集-性能工具
- 2025-05-14 Linux CentOS 安装 MySQL 8
- 2025-05-14 MySql安装与使用
- 2025-05-14 忘记mysql的root密码
- 2025-05-14 MySQL合集-单机容器化
你 发表评论:
欢迎- 最近发表
-
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
- linux移植(Linux移植freemodbus)
- 独家解读:Win10预览版9879为何无法识别硬盘
- 基于Linux系统的本地Yum源搭建与配置(ISO方式、RPM方式)
- Docker镜像瘦身(docker 减小镜像大小)
- 在linux上安装ollama(linux安装locale)
- 渗透测试系统Kali推出Docker镜像(kali linux渗透测试技术详解pdf)
- Linux环境中部署Harbor私有镜像仓库
- linux之间传文件命令之Rsync傻瓜式教程
- 解决ollama在linux中安装或升级时,通过国内镜像缩短安装时长
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)