news 2026/6/15 1:16:34

零基础学AI人工智能:7.2 算法和数据结构之数据库

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
零基础学AI人工智能:7.2 算法和数据结构之数据库

上一篇我们完成了 Linux 系统的系统学习,掌握了数据项目的服务器环境基础;本篇我们聚焦数据持久化存储的核心载体 —— 数据库,它是结构化业务数据、算法训练元数据最主流的存储方案,熟练掌握数据库概念与 SQL 逻辑,是开展统计分析、数据挖掘工作的必备能力。

一、数据库相关概述

1.1 数据库基础定义

数据库是长期存储在计算机内、有组织、可实现多用户共享的数据集合。 和传统文件存储相比,文件形式的数据很难支持多用户精细化协同管理,而数据库可以实现结构化的数据规整存放,支持多人同时访问读写,还能维护多张数据表之间的关联约束,保障数据的一致性、安全性,适配规模化的数据处理需求。

1.2 数据库两大主流分类

  1. 关系型数据库 特征是采用二维行列表格的形式存储数据,表与表之间可以建立严谨的关联关系,技术体系成熟稳定,适合结构化业务数据存储,常见产品有 MySQL、Oracle、DB2、SQL Server 等。

  2. 非关系型数据库 不局限于二维表格结构,以键值对、文档等更灵活的形式存储数据,横向拓展能力更强,适配高并发、海量非结构化数据场景,常见产品有 Redis、MongoDB 等。

1.3 业务实体的三类关联关系

现实业务场景里,数据实体之间存在固定的对应模式:

  1. 一对一:两个实体严格一一绑定,例如一家企业仅对应一位法定代表人;

  2. 一对多:一个主实体可以对应多条子实体数据,例如一个班级包含多名学生、一个部门下辖多名员工;

  3. 多对多:两个实体可以互相匹配多条数据,例如学生和选修课,一名学生能选多门课程,一门课程也能被多名学生选修。

二、MySQL 数据库环境搭建

2.1 服务端安装的两种方案

  1. 官方安装包手动部署:可以自主调整服务各项配置参数,适合有运维基础、需要精细化定制环境的场景;

  2. 集成化面板一键安装:自动化完成基础配置环节,降低新手的部署门槛,快速搭建可用的数据库服务。

2.2 命令行访问登录方式

本地环境可以采用明文填写身份信息、隐藏密码密文填写两种方式登录本地 MySQL 服务;如果要访问远程服务器上的数据库,需要补充填写远程主机地址、开放端口、合法账号信息完成远程登录;日常运维也可以通过系统进程工具查看 MySQL 服务的运行状态,判断服务是否正常启动。

2.3 可视化管理工具

除了原生命令行操作,还可以使用带图形界面的可视化工具管理数据库,比如 DataGrip、PyCharm 内置的数据库面板,这类工具可以通过点击操作完成建库、建表、数据查询、结构修改全流程工作,大幅降低日常操作的学习成本。

三、SQL 语句基础规范与四大分类

3.1 SQL 四大功能划分

SQL 是操作关系型数据库的标准化语言,按照职能分为四大类别:

  1. DDL 数据定义语言:负责数据库、数据表的结构管控,完成创建、删除、修改库表架构这类底层结构操作;

  2. DML 数据操纵语言:直接管控表内存储的业务数据,实现数据新增、删除、内容更新;

  3. DQL 数据查询语言:从数据表中提取目标数据,是数据统计、分析环节使用频率最高的分类;

  4. DCL 数据控制语言:负责账号权限管控,完成权限授予、权限回收这类运维安全操作。

3.2 SQL 通用编写特性

  1. 语句既可以单行写完,也可以拆分多行排布,提升复杂语句的可读性;

  2. 语句关键字大小写不敏感,大写、小写写法的执行效果完全一致;

  3. 支持单行、多行两种注释格式,用来标注逻辑说明、备注内容;

  4. 可以合理使用缩进、换行优化排版,让多层嵌套的逻辑更易阅读维护。

四、细分场景 SQL 操作逻辑详解

4.1 数据库(库级)全生命周期管理

针对数据库本身可以完成全套管理操作:创建全新的数据库、删除闲置废弃的数据库、修改已有数据库的配置参数、查看当前服务器内所有已创建的数据库,同时可以切换指定数据库,将它设置为后续所有操作的默认操作对象。

4.2 数据表(表级)结构管理

针对库内的数据表,支持灵活的结构调整能力:创建符合业务字段规则的新数据表、删除不再使用的数据表、对已有数据表重命名;还能精细化调整表结构,比如新增数据列、移除冗余列、修改已有列的名称、数据类型、约束规则等。

4.3 表内数据增删改管理

对表内业务数据可完成三类基础变更:向表内单条或批量新增数据、按精准条件删除无效数据、按限定范围更新已有数据内容;其中删除、更新操作必须严格设置筛选边界,避免误操作改动整张表的全部数据。

4.4 数据查询核心体系(数据分析重点)

4.4.1 单表查询技巧

可以完成基础字段筛选、重复结果去重;搭配聚合统计函数实现计数、求和、最大值、最小值、平均值这类常规统计计算;区分两类筛选逻辑:先按条件过滤原始明细数据再分组统计、先完成分组统计再对分组结果做二次筛选;同时支持分页设置,控制单次接口返回的数据行数,适配大批量数据分批读取的场景。

4.4.2 多表关联查询方案

针对存在关联关系的多张数据表,有多种连接模式适配不同统计需求:

  1. 交叉连接:返回两张表所有数据两两组合的笛卡尔积结果;

  2. 内连接:仅返回两张表能匹配上关联条件的交集数据;

  3. 左外连接:以左表的全部数据为基准,匹配右表符合条件的内容,左表无匹配项的字段会保留空值;

  4. 右外连接:以右表的全部数据为基准,匹配左表符合条件的内容,右表无匹配项的字段会保留空值;

  5. 全外连接:合并两张表所有匹配、不匹配的全部数据,一般可以通过两次左右连接的结果合并去重实现效果。

4.4.3 窗口函数进阶统计能力

普通分组统计会把同组多行数据合并为单行输出,而窗口函数可以在完成数据分组划分的同时,保留原始明细的每一行记录,在每行数据后同步输出分组统计、组内排序的结果,适配复杂的精细化统计场景。 窗口函数分为两大方向:

  1. 聚合类窗口函数:复用计数、求和、最值这类常规聚合能力,配合分组规则,在分组内完成统计计算;

  2. 排序类窗口函数:实现分组内的名次排序,支持生成连续行号、跳跃排名、连续排名等多种排序逻辑; 还可以搭配分区划分、排序规则,实现多层级的精细化统计拆分。

五、逻辑图

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 1:13:11

电脑硬件八大核心硬件指南介绍

组装一台台式电脑涉及八大核心部件,了解其各自职能与选购逻辑,是避开兼容陷阱、合理分配预算的前提。以下从功能定位、关键参数到选购注意点,逐一拆解每个硬件。八大件总览台式机八大件包括:CPU、主板、内存、硬盘、显卡、散热器、…

作者头像 李华
网站建设 2026/6/15 1:12:53

3大突破性功能:如何用xiaozhi-esp32打造你的专属AI语音助手?

3大突破性功能:如何用xiaozhi-esp32打造你的专属AI语音助手? 【免费下载链接】xiaozhi-esp32 An MCP-based chatbot | 一个基于MCP的聊天机器人 项目地址: https://gitcode.com/GitHub_Trending/xia/xiaozhi-esp32 还在为智能硬件开发中的语音交互…

作者头像 李华
网站建设 2026/6/15 1:11:52

C# LINQ 语言集成查询完全入门:从原理到实战,告别繁琐循环

在C#开发中,我们经常需要对集合、数组、数据表进行筛选、排序、分组、映射、聚合等操作。如果仅使用传统的 for/foreach 循环,代码会充斥大量冗余逻辑,可读性差、维护成本高,且容易出现边界错误。而 LINQ(Language Int…

作者头像 李华
网站建设 2026/6/15 1:10:51

STM32F103C8T6省掉外部晶振?手把手教你配置内部HSI时钟到36MHz

STM32F103C8T6低成本时钟方案:从外部晶振到内部HSI的实战迁移指南在嵌入式开发领域,每一分钱的BOM成本都值得精打细算。当我在为一个校园智能温室项目设计控制器时,发现外部晶振及其匹配电容竟占据了PCB成本的5%。这促使我深入研究STM32F103C…

作者头像 李华
网站建设 2026/6/15 0:56:59

Redis 从入门到精通:Redis Stream —— 可靠消息队列

IT策士 10余年一线大厂经验,专注 IT 思维、架构、职场进阶。我会在各个平台持续发布最新文章,助你少走弯路。 前面我们学了 List 做队列、Pub/Sub 做广播,但它们都有一个硬伤:消息可靠性不足。List 弹出的消息就没了,…

作者头像 李华