AI大模型应用开发-用 MySQL 存储简单数据,用 Python 操作数据库

一、 第一部分:MySQL 安装与环境配置(Windows)

核心目标

安装免费的 MySQL 社区版,配置环境变量,学会登录 MySQL 终端,为后续操作数据库铺路。

步骤 1:下载 MySQL 社区版(安全无捆绑)

  1. 官网下载地址:MySQL Community Server 8.0 下载
  2. 小白避坑操作:
    • 下滑找到「MySQL Installer for Windows」,选择「Download」(对应 msi 安装包,可视化安装,小白首选)。
    • 无需登录 / 注册,直接点击「No thanks, just start my download.」开始下载。
    • 推荐版本:MySQL 8.4.8 LTS(长期支持版,稳定性与维护保障最优,不要选最新测试版)。

步骤 2:MySQL 安装(关键步骤,小白必看)

  1. 双击下载完成的 .msi 安装包(文件名类似 mysql-installer-community-8.0.36.0.msi),启动安装。
  2. 选择安装类型:勾选「Custom」(自定义安装,只装核心服务,节省空间),点击「Next」。
  3. 选择要安装的组件:
    • 展开「MySQL Servers」→「MySQL 8.0」→ 勾选「MySQL Server 8.0.36」(对应下载的版本)。
    • 点击右侧「Add」,将组件添加到安装列表,点击「Next」。
  4. 执行安装:点击「Execute」,等待安装完成(进度条 100%),点击「Next」。
  5. 配置 MySQL 服务(最关键,小白仔细看):
    • 保持默认配置(端口号 3306,MySQL 服务名 MySQL80),点击「Next」。

    • 密码设置:选择「Use Legacy Authentication Method」(兼容旧版本,后续 Python 连接更稳定),点击「Next」。

    • 设置 root 用户密码(必须记住,后续登录和 Python 连接都需要 ,比如设置为 123456,简单易记,小白入门无需复杂密码),重复输入密码,点击「Next」。

    • 配置 Windows 服务:保持默认(勾选「Start the MySQL Server at System Startup」,开机自启),点击「Next」。

    • 完成配置:点击「Execute」,等待配置完成(所有项显示「Complete」),点击「Finish」→「Next」→「Finish」,安装完成。

      直接点击界面底部的「Execute」按钮,触发配置执行:执行过程中,列表项前的圆圈会逐步变为勾选状态(表示对应步骤完成);

步骤 3:配置 MySQL 环境变量(避免 cmd 无法识别 mysql 命令)

  1. 找到 MySQL 安装路径(默认路径 C:\Program Files\MySQL\MySQL Server 8.0\bin,若自定义安装,找到对应 bin 文件夹)。
  2. 复制该路径,右键「此电脑」→「属性」→「高级系统设置」→「环境变量」→「系统变量」→「Path」→「编辑」→「新建」,粘贴复制的路径,依次点击「确定」。
  3. 验证环境变量:重启 cmd(必须重启,配置才能生效)。

步骤 4:验证 MySQL 安装并登录终端

  1. 打开 cmd,输入登录命令,回车:

    复制代码
    mysql -u root -p
  2. 输入密码:弹出「Enter password:」提示,输入步骤 2 中设置的密码(比如 123456,输入时不显示字符),回车。

  3. 验证成功:终端显示 mysql> 提示符,说明已成功登录 MySQL,可开始执行 SQL 语句。

小白常见 MySQL 安装问题解决

  1. 登录报错「Access denied for user 'root'@'localhost'」:密码输入错误,重新输入正确的 root 密码。
  2. cmd 提示「'mysql' 不是内部或外部命令」:环境变量配置错误,重新检查路径是否正确,或重启电脑。
  3. 端口 3306 被占用:安装时可修改端口号(比如 3307),后续 Python 连接时对应修改端口即可。

二、 第二部分:MySQL 简单查询(SELECT/INSERT)

核心目标

学会创建数据库、创建表、插入数据(INSERT)、查询数据(SELECT),小白无需深入复杂 SQL,掌握这两个核心语句即可,如果不习惯cmd,也可下载phpmyadmin,相对友好一些。

前置说明

  1. 所有 SQL 语句都在「MySQL 终端」(mysql> 提示符下)执行,语句结尾必须加 分号 ;,否则无法执行。
  2. 小白入门用「学生成绩表」(和之前数据工具知识点呼应,有熟悉感),方便理解。

步骤 1:创建数据库(存放表的容器)

在 MySQL 终端输入以下命令,回车执行:

sql

复制代码
-- 创建名为ai_study_db的数据库(字符集utf8mb4,支持中文,小白固定写法)
CREATE DATABASE IF NOT EXISTS ai_study_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

-- 切换到该数据库(后续操作都在这个数据库中进行,必须执行)
USE ai_study_db;
  • 运行结果:显示「Query OK, 1 row affected」,说明创建并切换数据库成功。

步骤 2:创建数据表(存放具体数据)

在 MySQL 终端输入以下命令,回车执行:

sql

复制代码
-- 创建名为student_scores的表(学生成绩表)
CREATE TABLE IF NOT EXISTS student_scores (
    id INT AUTO_INCREMENT PRIMARY KEY,  -- 自增ID(唯一标识每条数据)
    name VARCHAR(20) NOT NULL,          -- 姓名(最多20个字符,非空)
    chinese INT DEFAULT 0,              -- 语文成绩(默认0分)
    math INT DEFAULT 0,                 -- 数学成绩(默认0分)
    english INT DEFAULT 0               -- 英语成绩(默认0分)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  • 运行结果:显示「Query OK, 0 rows affected」,说明表创建成功。此时表里面是空的;

步骤 3:插入数据(INSERT 语句,向表中添加数据)

核心语法

sql

复制代码
-- 单行插入
INSERT INTO 表名 (字段1, 字段2, 字段3) VALUES (值1, 值2, 值3);

-- 多行插入(高效,无需重复写INSERT)
INSERT INTO 表名 (字段1, 字段2, 字段3) VALUES (值1, 值2, 值3), (值4, 值5, 值6);
实操示例(插入学生成绩数据)

在 MySQL 终端输入以下命令,回车执行:

sql

复制代码
-- 向student_scores表插入5条学生成绩数据
INSERT INTO student_scores (name, chinese, math, english)
VALUES 
("小明", 85, 90, 79),
("小红", 92, 86, 88),
("小刚", 78, 93, 85),
("小丽", 95, 89, 90),
("小亮", 88, 96, 82);
  • 运行结果:显示「Query OK, 5 rows affected」,说明数据插入成功,也可手动查询一下。

步骤 4:查询数据(SELECT 语句,从表中获取数据)

核心语法

sql

复制代码
-- 查询表中所有数据
SELECT * FROM 表名;

-- 查询指定字段的数据(避免查询无关数据,更高效)
SELECT 字段1, 字段2 FROM 表名;

-- 带条件查询(筛选符合条件的数据)
SELECT * FROM 表名 WHERE 条件;
实操示例(查询学生成绩数据)

在 MySQL 终端输入以下命令,依次执行,查看结果:

sql

复制代码
-- 示例1:查询表中所有学生的所有成绩
SELECT * FROM student_scores;

-- 示例2:只查询姓名和数学成绩
SELECT name, math FROM student_scores;

-- 示例3:查询数学成绩≥90分的学生
SELECT name, math FROM student_scores WHERE math >= 90;
运行结果(示例 1)
复制代码
+----+--------+---------+------+---------+
| id | name   | chinese | math | english |
+----+--------+---------+------+---------+
|  1 | 小明   |      85 |   90 |      79 |
|  2 | 小红   |      92 |   86 |      88 |
|  3 | 小刚   |      78 |   93 |      85 |
|  4 | 小丽   |      95 |   89 |      90 |
|  5 | 小亮   |      88 |   96 |      82 |
+----+--------+---------+------+---------+
5 rows in set (0.00 sec)

小白常见 SQL 语句问题解决

  1. 语句执行报错「You have an error in your SQL syntax」:忘记加结尾的分号 ;,或字段名 / 表名拼写错误。
  2. 中文插入乱码:创建数据库和表时,字符集已设置为 utf8mb4,无需额外配置,若仍乱码,重启 MySQL 服务即可。
  3. 查询无结果:条件设置错误(比如 math > 100,超出成绩范围),修改条件即可。

步骤 5:退出 MySQL 终端

输入以下命令,回车,即可退出 MySQL 终端,回到 cmd 默认提示符:

sql

复制代码
exit;

三、 第三部分:用 Python 连接 MySQL 数据库

核心目标

无 Anaconda 环境下,用pip安装连接库pymysql,编写 Python 代码实现「插入数据 + 查询数据」,对应大纲中 "用代码操作数据库" 的学习目标。

步骤 1:安装 pymysql 库(Python 连接 MySQL 的常用库)

打开 cmd,输入安装命令(国内镜像源,下载更快):

复制代码
pip install pymysql -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 验证安装成功:无报错,且提示「Successfully installed pymysql-x.x.x」,说明安装成功。

步骤 2:Python 连接 MySQL 核心代码(可直接复制运行)

创建python_mysql_demo.py文件,粘贴以下代码,修改 root 密码为你自己设置的密码 (比如 password="123456"),用python python_mysql_demo.py运行。

python

复制代码
# 1. 导入pymysql库
import pymysql

# 2. 配置数据库连接参数(小白根据自己的情况修改)
db_config = {
    "host": "localhost",  # 本地数据库,固定为localhost
    "port": 3306,         # MySQL默认端口号,无需修改
    "user": "root",       # 登录用户名,固定为root
    "password": "123456", # 你的root密码,修改为自己设置的密码
    "database": "ai_study_db",  # 要连接的数据库名
    "charset": "utf8mb4"  # 字符集,支持中文,固定为utf8mb4
}

# 3. 建立数据库连接,执行SQL语句(插入+查询)
try:
    # 步骤1:建立数据库连接
    conn = pymysql.connect(**db_config)
    print("=== 数据库连接成功 ===")

    # 步骤2:创建游标(用于执行SQL语句,获取结果)
    cursor = conn.cursor()

    # 示例1:用Python向数据库插入一条新数据(新增学生小花)
    insert_sql = """
    INSERT INTO student_scores (name, chinese, math, english)
    VALUES ("小花", 90, 88, 95)
    """
    cursor.execute(insert_sql)  # 执行插入SQL语句
    conn.commit()  # 提交事务(插入/修改/删除数据必须提交,否则数据不生效)
    print("=== 新数据插入成功 ===")

    # 示例2:用Python查询数据库中所有学生的成绩
    select_sql = "SELECT * FROM student_scores"
    cursor.execute(select_sql)  # 执行查询SQL语句
    all_students = cursor.fetchall()  # 获取所有查询结果(返回元组列表)

    # 打印查询结果
    print("\n=== 所有学生成绩查询结果 ===")
    # 打印表头
    print(f"{'ID':<4} {'姓名':<8} {'语文':<6} {'数学':<6} {'英语':<6}")
    print("-" * 30)
    # 打印每条学生数据
    for student in all_students:
        id, name, chinese, math, english = student
        print(f"{id:<4} {name:<8} {chinese:<6} {math:<6} {english:<6}")

except pymysql.Error as e:
    # 捕获异常,打印错误信息
    print(f"=== 数据库操作失败:{e} ===")
    # 若插入数据失败,回滚事务,避免数据混乱
    if conn:
        conn.rollback()
finally:
    # 步骤3:关闭游标和连接(释放资源,必须执行)
    if cursor:
        cursor.close()
    if conn:
        conn.close()
    print("\n=== 数据库连接已关闭 ===")

步骤 3:运行结果解读

  1. 终端显示「数据库连接成功」「新数据插入成功」,说明 Python 与 MySQL 连接正常,且成功插入新学生小花的数据。
  2. 打印出所有学生成绩(包括新增的小花),格式整齐,说明查询成功。
  3. 回到 MySQL 终端,执行 SELECT * FROM student_scores;,可看到小花的数据已存在,验证 Python 插入操作生效。

核心逻辑总结(小白必记)

Python 连接 MySQL 的固定流程:建立连接 → 创建游标 → 执行 SQL → 提交事务(插入 / 修改 / 删除)→ 获取结果(查询)→ 关闭游标和连接

小白常见 Python 连接问题解决

  1. 报错「Access denied for user 'root'@'localhost' (using password: YES)」:密码输入错误,修改db_config中的password为正确密码。
  2. 报错「Can't connect to MySQL server on 'localhost' (10061)」:MySQL 服务未启动,打开 Windows 服务,找到「MySQL80」,右键「启动」即可。
  3. 插入数据后查询不到:忘记执行conn.commit(),插入 / 修改 / 删除数据必须提交事务,否则数据不会写入数据库。

总结

  1. MySQL 安装:核心是「设置 root 密码」「配置环境变量」「端口 3306」,登录命令mysql -u root -p,小白优先选 msi 可视化安装。
  2. 核心 SQL 语句:INSERT(插入数据,结尾加分号)、SELECT(查询数据,支持条件筛选),先创建数据库和表,再操作数据。
  3. Python 连接 MySQL:用pymysql库,固定流程「连接→游标→执行 SQL→提交→关闭」,conn.commit()是插入 / 修改 / 删除数据的关键。
  4. 关键避坑:SQL 语句结尾加;、Python 连接时密码正确、MySQL 服务正常启动、插入数据需提交事务。
相关推荐
云飞云共享云桌面2 小时前
SolidWorks如何实现多人共享
服务器·前端·数据库·人工智能·3d
Eaxker2 小时前
Java后端学习4:MySQL
后端·mysql
正在走向自律2 小时前
金仓数据库:Oracle迁移背景下的兼容性挑战与迁移成本深度解析
数据库·oracle·国产数据库·电科金仓
xianrenli382 小时前
python版本配置
开发语言·python
AORUO奥偌2 小时前
医用气体报警箱:构筑楼层气体安全的监测前哨
大数据·数据库
啵啵鱼爱吃小猫咪2 小时前
机器人标准DH(SDH)与改进DH(MDH)
开发语言·人工智能·python·学习·算法·机器人
醒过来摸鱼2 小时前
redis源码deps目录
数据库·redis·缓存
工程师老罗2 小时前
DataLoader的用法
人工智能·python
工程师老罗2 小时前
PyTorch与TensorBoard兼容性问题解决方案
人工智能·pytorch·python