前言
很多零基础刚学 SQL 的同学,都会卡在基础概念分不清: 分不清表、字段、行、记录到底有啥区别; 碰到NULL 空值直接乱用,写查询、做统计频频踩坑; 面试被问数据库基础术语支支吾吾,工作看业务表结构一脸懵; 后面学多表关联、建表约束、分组以及子查询,全因为概念模糊越学越乱。
其实做开发、测试、数据分析、报表统计,所有 SQL 操作都是围绕表、字段、行、NULL 这些基础术语展开。 今天用大白话 + Excel 类比,一次性把职场高频核心术语讲明白,零基础也能秒懂,为后面所有 SQL 学习打牢地基。
分层知识点精讲
一、数据库(Database)
数据库:可以理解成一个独立的数据仓库文件夹。 里面存放多张业务数据表,用来分类管理整套业务数据,比如电商数据库、教务数据库、用户权限数据库。
- 一台 MySQL 服务可以创建多个数据库
- 不同业务隔离存放在不同数据库,互不干扰
二、数据表(Table)
数据表:数据库里最基本的存储单元,二维结构化表格,和 Excel 工作表一模一样。 所有业务数据(用户、订单、商品、学生)都必须存在表里面,是 SQL 所有操作的载体。
三、字段(列 / Column)
字段:就是表中的列,代表数据的属性。 比如用户表:id、姓名、年龄、手机号、注册时间,每一项都是一个字段。
- 字段有固定数据类型(整型、字符串、日期等)
- 建表就是定义有哪些字段、什么类型、有什么约束
四、行 / 记录(Row / Record)
行:表中的横向一条数据;记录:日常职场里和行基本同义,指一条完整的业务数据。 比如一条用户信息:id=1,姓名 = 张三,年龄 = 24,这就是一行、一条记录。
五、NULL 值(重点高频)
NULL:代表未知、未赋值、空,不是 0、不是空字符串 ''。 职场三大关键认知:
- NULL不等于 0
- NULL不等于 空字符串 ''
- 不能用
=判断 NULL,必须用IS NULL / IS NOT NULL
六、冗余数据
冗余:重复多余、可以通过关联推导出来的数据。 企业建表尽量减少冗余,保证数据统一、方便维护更新。
七、主键、外键(提前认知)
- 主键 PRIMARY KEY:唯一标识一条记录,不能重复、不能为空
- 外键 FOREIGN KEY:把两张表关联起来,维护表与表之间关系
通俗类比 + 实例表格
通俗类比
把数据库比作一个档案柜; 柜子里每一本档案册就是数据表; 档案册每一列固定栏目(编号、姓名、年龄)就是字段; 每一页一条个人档案就是一行 / 一条记录; 某一栏没填信息、留白不知道内容,就是NULL。
示例:用户信息表结构
表格
| id(字段) | name(字段) | age(字段) | phone(字段) |
|---|---|---|---|
| 1 | 张三 | 25 | 13800138000 |
| 2 | 李四 | NULL | 13900139000 |
| 3 | 王五 | 28 |
解读:
- 表头 id/name/age/phone →字段 / 列
- 每一行用户信息 →行 / 记录
- 李四 age 没填 →NULL
- 王五 phone 是空字符串
''→不是 NULL
SQL 代码演示
1. 普通查询表数据
sql
-- 查询用户表所有字段所有行 SELECT * FROM user; -- 只查询指定字段 SELECT id, name, age FROM user;2. NULL 正确查询写法(必记)
sql
-- 正确:查询年龄为空的人 SELECT * FROM user WHERE age IS NULL; -- 正确:查询年龄不为空的人 SELECT * FROM user WHERE age IS NOT NULL;3. 新手错误写法(绝对禁止)
sql
-- 错误!不能用 = 判断NULL SELECT * FROM user WHERE age = NULL;原理:NULL 代表未知,未知和任何值都不相等,= 匹配不到任何数据。
易错 / 避坑点
- ❌ 把空字符串 ''当成NULL✅ 正解:'' 是有值的空字符,NULL 是无值未知,统计、筛选结果完全不一样。
- ❌ 用
= NULL、!= NULL做条件判断 ✅ 正解:只能用IS NULL / IS NOT NULL。 - ❌ 分不清字段和记录,写 SELECT 时乱选列 ✅ 正解:SELECT 后面跟字段,WHERE 筛选行记录。
- ❌ 认为 NULL 参与运算有结果 ✅ 正解:任何数值和 NULL 做加减乘除,结果依然是 NULL,报表统计极易出 bug。
核心小结
- 数据库是总仓库,数据表是仓库里的二维表格;
- 字段 = 列,描述数据属性;行 = 记录,代表一条完整业务数据;
- NULL 是未知空值,不等于 0、不等于空字符串,只能用 IS NULL 判断;
- 所有后续 SQL 增删改查、多表关联、建表约束,全部基于这批核心术语;
- 职场写报表、写查询、面试基础题,最爱考 NULL 的判断和坑点。
思考题
思考题 1
数据表中 字段 和 记录 分别对应表格的什么?
答案: 字段对应列,代表数据属性; 记录对应行,代表一条完整的数据。
思考题 2
age = 0、age = ''、age IS NULL三者有什么区别?
答案:
- age=0:年龄明确赋值为 0;
- age='':年龄是空字符串,有具体空值;
- age IS NULL:年龄未填写、未知、无赋值。
思考题 3
为什么不能用WHERE age = NULL查询空值?
答案: NULL 表示未知,数据库中未知和任何值都不相等,=无法匹配 NULL,必须使用专用关键字IS NULL。