第五章笔记
·
5.1 数据存储的方式
5.1.1 文件存储
- 常见格式:txt、csv、json、excel、parquet
- 优点:简单、无需数据库服务、读写方便;适合小批量、临时数据
- 缺点:不方便多条件查询、并发差、海量数据检索慢、不易权限管理
- AI 场景:小规模数据集、中间结果、配置文件
- 5.1.2 数据库存储
数据库:按照一定结构组织、长期存储、可共享的数据集合;DBMS 数据库管理系统负责管理。
- 关系型数据库(SQL):MySQL、SQL Server、Oracle 特点:二维表、行 + 列;支持事务、主键、外键、约束;SQL 语句查询;结构固定。适合结构化标签数据、标注任务管理。
- 非关系型数据库(NoSQL)
- 文档型:MongoDB(json 格式,适合半结构化文本、日志)
- 键值型:Redis(高速缓存,训练缓存、在线推理)
- 图数据库:Neo4j(知识图谱)
- 列式数据库:HBase(海量大数据)
对比:AI 小项目优先 MySQL;非结构化、海量、高并发选 NoSQL。
5.2 MySQL 数据库安装与使用
5.2.1 MySQL 介绍
开源关系型数据库,人工智能数据处理最常用。 核心概念:数据库 → 数据表 → 行(记录 / 样本)、列(字段 / 特征) 主键 PRIMARY KEY:唯一标识一行记录,不能重复、不能为空。
5.2.2 Navicat(可视化工具)
作用:图形化管理 MySQL,不用纯命令行;方便建库、建表、导入导出、查看数据。 基本操作:新建连接→填写主机、端口、账号密码→连接数据库。
5.2.3 基础 SQL 语句(必考)
-- 1. 创建数据库
CREATE DATABASE ai_data;
-- 2. 使用数据库
USE ai_data;
-- 3. 创建数据表
CREATE TABLE student(
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20),
age INT
);
-- 4. 增 INSERT
INSERT INTO student(name,age) VALUES ('张三',18);
-- 5. 查 SELECT
SELECT * FROM student;
SELECT name,age FROM student WHERE age>17;
-- 6. 改 UPDATE
UPDATE student SET age=19 WHERE id=1;
-- 7. 删 DELETE
DELETE FROM student WHERE id=1;
口诀:增 INSERT、删 DELETE、改 UPDATE、查 SELECT
5.3 Python 与数据库(重点实操)
库:pymysql,Python 连接 MySQL 驱动 流程固定 5 步:
- 导入 pymysql
- connect () 建立连接(主机、端口、用户、密码、库名、编码 utf8mb4)
- 创建游标 cursor(执行 SQL 的工具)
- cursor.execute (sql) 执行语句;fetchone ()/fetchall () 读取查询结果
- commit () 提交(增删改必须提交)、close () 关闭游标和连接
示例极简代码:
import pymysql
conn = pymysql.connect(host='localhost',port=3306,user='root',password='xxx',database='ai_data',charset='utf8mb4')
cur = conn.cursor()
sql = "SELECT * FROM student"
cur.execute(sql)
res = cur.fetchall()
print(res)
cur.close()
conn.close()
- 插入 / 修改后必须
conn.commit(),否则数据不会写入数据库 - 异常场景:用 try-except 捕获报错,出错时 rollback 回滚
常见任务:Excel 导入 MySQL
- pandas 读取 Excel
pd.read_excel() - 循环逐行或者批量组装 SQL
- pymysql 执行插入语句
实训题目:将采集到的 AI 样本表格存入 MySQL
5.4 数据存储选型思路(简答)
- 数据是结构化(规整表格标签)→ MySQL
- 半结构化(json 文本、日志)→ MongoDB
- 需要高速读取缓存 → Redis
- 超大分布式数据集 → HDFS+HBase
- 临时少量数据、离线本地实验 → csv、文件
5.5 本章小结
- 两大类存储:文件存储、数据库存储(SQL / NoSQL)
- MySQL 是关系型数据库,掌握基础 CRUD SQL
- pymysql 实现 Python 和数据库交互,是 AI 流水线里数据持久化环节
更多推荐


所有评论(0)