对于人工智能开发而言,大部分工作都围绕数据处理展开:训练数据集的提取与清洗、特征工程的统计与构建、模型效果的验证与分析,都离不开SQL这个结构化数据处理的核心工具。本系列从零基础起步,循序渐进拆解SQL核心能力,最终落地到AI项目的实际数据场景中。

本文是系列的第一篇,我们将一次性搞定SQL最核心的三大基础模块:DDL数据定义语言、DML数据操作语言、DQL数据查询语言,同时补全新手必知的语法细节与避坑指南。

一、DDL 数据定义语言:定义数据库与表结构

DDL 主要用于对数据库和数据表的结构进行管理,不涉及具体的数据内容,相当于给数据搭建存储框架,核心操作包括对数据库和数据表的创建、查看、修改、删除。

1.1 数据库的核心操作

数据库是存储数据表的上层容器,常用操作包含查看所有数据库、查看数据库信息、切换数据库、创建数据库、修改数据库字符集以及删除数据库。

创建数据库时可以避免重复创建报错,同时推荐使用支持中文和特殊符号的字符集。删除数据库属于高危操作,会清空库内所有内容且无法恢复,操作时需要格外谨慎。

1.2 数据表的核心操作

数据表是存储具体数据的单元,操作前需要先切换到对应的数据库。

常用操作包括查看当前数据库里的所有表、查看表的结构、创建数据表、修改表名以及删除数据表。创建表时可以设置字段、数据类型和约束,删除表同样属于不可逆的高危操作。

1.3 表字段约束:保证数据完整性

约束是用来规范表中数据格式的规则,避免无效数据进入表格,是设计数据表的关键环节。

常用的约束有主键约束、非空约束、唯一约束、默认约束和外键约束,分别用于保证数据唯一、必填、不重复、自动填充默认值以及多表之间的数据关联一致性。

二、DML 数据操作语言:表数据的增删改

DML 用于对数据表中的实际数据进行操作,核心是新增、修改、删除数据,是日常数据写入与维护的主要方式。

2.1 新增数据

新增数据支持单行插入和多行批量插入,推荐指定字段插入,灵活性更高,不受表结构顺序影响,也更适合在实际项目中使用。

2.2 修改数据

修改数据用于更新表中已有的内容,使用时必须搭配筛选条件,否则会修改整张表的所有数据,属于需要谨慎使用的操作。

2.3 删除数据

删除数据有两种常用方式,分别是条件删除和清空全表。

条件删除可以指定删除某一行或某些行数据,支持事务回滚;清空全表会直接删除所有数据,执行速度更快,同时会重置表格的主键编号。两种方式适用场景不同,新手需要明确区分。

三、DQL 数据查询语言:SQL最核心的单表查询

DQL 是SQL中使用频率最高、最重要的部分,主要用于从数据表中提取、统计、筛选需要的数据,也是AI数据处理和特征工程的基础。

3.1 DQL完整语法结构与执行顺序

DQL 有固定的完整语法结构,同时数据库执行SQL有固定的顺序,很多新手出现报错,都是因为混淆了书写顺序和执行顺序。

执行顺序依次为:确定数据表、筛选数据、分组、分组后筛选、展示字段、排序、限制返回行数,理解这个顺序是写出正确查询语句的关键。

3.2 基础查询

基础查询用于选择需要展示的字段,可以查询指定字段,也可以对字段设置别名方便查看,还可以对结果进行去重处理,避免重复数据干扰。

3.3 条件查询

条件查询用于精准筛选出符合要求的数据,通过各类运算符实现大小比较、范围筛选、集合匹配、空值判断、模糊匹配以及多条件组合筛选,是日常查询最常用的功能。

3.4 聚合函数

聚合函数用于对一批数据进行统计计算,常用功能包括统计总数、求和、计算平均值、查找最大值和最小值,是数据统计分析的核心工具。

3.5 分组查询与分组后筛选

分组查询可以按照指定字段对数据进行归类,配合聚合函数实现分组统计。分组前和分组后都可以进行筛选,两种筛选的执行时机和使用规则不同,适用场景也有明显区别。

3.6 排序查询

排序查询可以让结果按照指定字段进行升序或降序排列,支持多个字段组合排序,让数据展示更有条理。

3.7 分页查询

分页查询用于限制结果返回的数量,适合大数据量展示和前端分页场景,有固定的分页计算规则,是实际项目中必备的查询功能。

3.8 单表查询综合使用

将条件筛选、分组、统计、排序、分页等功能组合使用,可以完成复杂的业务数据查询需求,是熟练掌握单表查询的标志。

四、结构图

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐