一、第一部分:MySQL 安装与环境配置(Windows)
核心目标
安装免费的 MySQL 社区版,配置环境变量,学会登录 MySQL 终端,为后续操作数据库铺路。
步骤 1:下载 MySQL 社区版
- 官网下载地址:MySQL Community Server 8.0 下载
- 推荐版本:MySQL 8.0 LTS(长期支持版,稳定性与维护保障最优)。
无需登录 / 注册,直接点击「No thanks, just start my download.」开始下载。
本文介绍在 Windows 环境下安装配置 MySQL 8.0 社区版,设置环境变量及登录终端。通过创建数据库和表,演示 INSERT 插入数据与 SELECT 查询数据的 SQL 语句。接着讲解使用 pip 安装 pymysql 库,编写 Python 代码连接 MySQL,实现数据插入、事务提交及结果查询的完整流程。涵盖常见报错如密码错误、端口占用及服务未启动的解决方案,适合初学者快速掌握数据库基础操作与 Python 集成方法。
安装免费的 MySQL 社区版,配置环境变量,学会登录 MySQL 终端,为后续操作数据库铺路。
无需登录 / 注册,直接点击「No thanks, just start my download.」开始下载。
下滑找到「MySQL Installer for Windows」,选择「Download」(对应 msi 安装包,可视化安装)。
.msi 安装包,启动安装。完成配置:点击「Execute」,等待配置完成,点击「Finish」→「Next」→「Finish」,安装完成。
直接点击界面底部的「Execute」按钮,触发配置执行;执行过程中,列表项前的圆圈会逐步变为勾选状态。
复制该路径,右键「此电脑」→「属性」→「高级系统设置」→「环境变量」→「系统变量」→「Path」→「编辑」→「新建」,粘贴复制的路径,依次点击「确定」。
找到 MySQL 安装路径(默认路径 C:\Program Files\MySQL\MySQL Server 8.0\bin,若自定义安装,找到对应 bin 文件夹)。
mysql -u root -p
验证成功:终端显示 mysql> 提示符,说明已成功登录 MySQL,可开始执行 SQL 语句。
学会创建数据库、创建表、插入数据(INSERT)、查询数据(SELECT),掌握这两个核心语句即可。
mysql> 提示符下)执行,语句结尾必须加 分号 ;,否则无法执行。在 MySQL 终端输入以下命令,回车执行:
-- 创建名为 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」,说明创建并切换数据库成功。
在 MySQL 终端输入以下命令,回车执行:
-- 创建名为 student_scores 的表(学生成绩表)
CREATE TABLE IF NOT EXISTS student_scores (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(20) NOT NULL,
chinese INT DEFAULT 0,
math INT DEFAULT 0,
english INT DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
运行结果:显示「Query OK, 0 rows affected」,说明表创建成功。
此时表里面是空的。
-- 单行插入
INSERT INTO 表名 (字段 1, 字段 2, 字段 3) VALUES (值 1, 值 2, 值 3);
-- 多行插入
INSERT INTO 表名 (字段 1, 字段 2, 字段 3) VALUES (值 1, 值 2, 值 3), (值 4, 值 5, 值 6);
在 MySQL 终端输入以下命令,回车执行:
-- 向 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」,说明数据插入成功。
-- 查询表中所有数据
SELECT * FROM 表名;
-- 查询指定字段的数据
SELECT 字段 1, 字段 2 FROM 表名;
-- 带条件查询
SELECT * FROM 表名 WHERE 条件;
在 MySQL 终端输入以下命令,依次执行,查看结果:
-- 示例 1:查询表中所有学生的所有成绩
SELECT * FROM student_scores;
-- 示例 2:只查询姓名和数学成绩
SELECT name, math FROM student_scores;
-- 示例 3:查询数学成绩≥90 分的学生
SELECT name, math FROM student_scores WHERE math >= 90;
+----+--------+---------+------+---------+
| 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)
;,或字段名 / 表名拼写错误。utf8mb4,无需额外配置,若仍乱码,重启 MySQL 服务即可。输入以下命令,回车,即可退出 MySQL 终端,回到 cmd 默认提示符:
exit;
无 Anaconda 环境下,用 pip 安装连接库 pymysql,编写 Python 代码实现「插入数据 + 查询数据」。
打开 cmd,输入安装命令(国内镜像源,下载更快):
pip install pymysql -i https://pypi.tuna.tsinghua.edu.cn/simple
验证安装成功:无报错,且提示「Successfully installed pymysql-x.x.x」,说明安装成功。
创建 python_mysql_demo.py 文件,粘贴以下代码,修改 root 密码为你自己设置的密码(比如 password="123456"),用 python python_mysql_demo.py 运行。
# 1. 导入 pymysql 库
import pymysql
# 2. 配置数据库连接参数(根据自己的情况修改)
db_config = {
"host": "localhost",
"port": 3306,
"user": "root",
"password": "123456",
"database": "ai_study_db",
"charset": "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=== 数据库连接已关闭 ===")
SELECT * FROM student_scores;,可看到小花的数据已存在,验证 Python 插入操作生效。Python 连接 MySQL 的固定流程:建立连接 → 创建游标 → 执行 SQL → 提交事务(插入 / 修改 / 删除)→ 获取结果(查询)→ 关闭游标和连接。
db_config 中的 password 为正确密码。conn.commit(),插入 / 修改 / 删除数据必须提交事务,否则数据不会写入数据库。mysql -u root -p,优先选 msi 可视化安装。INSERT(插入数据,结尾加分号)、SELECT(查询数据,支持条件筛选),先创建数据库和表,再操作数据。pymysql 库,固定流程「连接→游标→执行 SQL→提交→关闭」,conn.commit() 是插入 / 修改 / 删除数据的关键。;、Python 连接时密码正确、MySQL 服务正常启动、插入数据需提交事务。
微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online