非常棒 👍
这个问题问得非常实用!
要想真正看懂、写懂 MySQL(包括 NestJS、TypeORM 的底层 SQL),必须先掌握一些「核心 SQL 单词(关键字)」——
这些是数据库的基础语法词汇,就像编程语言的语法关键字一样。
下面我给你整理出 最全、最该理解透的 MySQL 必备单词清单(分模块讲解),每个都配有中文解释 👇
🧱 一、基础操作类(增删改查)
| 关键字 | 说明 |
|---|---|
select | 查询数据 |
from | 指定要查询的表 |
where | 条件过滤 |
insert into | 插入数据 |
values | 插入的值 |
update | 更新数据 |
set | 指定要修改的列 |
delete | 删除数据 |
as | 别名(字段或表的别名) |
✅ 例子:
select name, age from users where age > 18;
insert into users (name, age) values ('Tom', 20);
update users set age = 25 where id = 1;
delete from users where id = 3;
📋 二、表结构类(建表、修改表)
| 关键字 | 说明 |
|---|---|
create table | 创建表 |
drop table | 删除表 |
alter table | 修改表结构 |
add | 添加字段 |
modify | 修改字段类型 |
rename | 重命名表或字段 |
truncate | 清空表数据(比 delete 快) |
✅ 例子:
create table users (
id int primary key auto_increment,
name varchar(50)
);
alter table users add column age int;
drop table orders;
🔗 三、外键与约束类
| 关键字 | 说明 |
|---|---|
primary key | 主键(唯一标识一条记录) |
foreign key | 外键(关联另一张表) |
references | 外键指向的表与字段 |
unique | 唯一约束 |
not null | 不允许为空 |
default | 默认值 |
on delete / on update | 外键行为(级联等) |
auto_increment | 自动递增 |
✅ 例子:
create table orders (
id int primary key auto_increment,
user_id int,
foreign key (user_id) references users(id) on delete cascade
);
🧩 四、连接查询类(多表)
| 关键字 | 说明 |
|---|---|
join | 连接(通用写法) |
inner join | 内连接(取两表都匹配的) |
left join | 左连接(保留左表全部) |
right join | 右连接(保留右表全部) |
on | 指定连接条件 |
group by | 分组 |
having | 对分组结果过滤 |
order by | 排序 |
limit | 限制返回条数 |
distinct | 去重 |
✅ 例子:
select u.name, o.order_no
from users u
left join orders o on u.id = o.user_id
where u.age > 18
order by u.name asc
limit 10;
⚙️ 五、函数与表达式类
| 关键字 | 说明 |
|---|---|
count() | 统计数量 |
sum() | 求和 |
avg() | 平均值 |
max() / min() | 最大 / 最小值 |
if() / case when | 条件判断 |
concat() | 字符串拼接 |
substr() | 截取字符串 |
now() | 当前时间 |
between ... and ... | 范围查询 |
in (...) | 匹配集合 |
like | 模糊查询(支持 %) |
✅ 例子:
select name, age, if(age > 18, '成人', '未成年') as type from users;
select count(*), avg(price) from orders;
🔐 六、权限与管理类(了解即可)
| 关键字 | 说明 |
|---|---|
create user | 创建数据库用户 |
grant | 授权 |
revoke | 撤销权限 |
use | 切换数据库 |
show databases | 显示所有数据库 |
show tables | 显示当前数据库的表 |
describe / desc | 查看表结构 |
🌟 七、索引与性能类(进阶)
| 关键字 | 说明 |
|---|---|
index | 创建普通索引 |
unique index | 唯一索引 |
primary key | 主键索引 |
explain | 查看 SQL 执行计划(性能分析) |
analyze | 分析表 |
optimize | 优化表存储 |
✅ 例子:
create index idx_name on users(name);
explain select * from users where name='Tom';