原生 SQL 语句虽然看起来很多,但其实只要按照功能划分,核心语法非常好记。我们可以把它们分为四大类(常说的 CRUD),外加一个控制权限的类别。
为了让你更直观地掌握,我为你整理了一份最常用的核心语句速查表:
| 分类 | 核心关键字 | 作用说明 |
|---|---|---|
| DQL (数据查询) | SELECT |
从数据库中提取你需要的数据 |
| DML (数据操作) | INSERT, UPDATE, DELETE |
对表里的数据进行增、改、删 |
| DDL (数据定义) | CREATE, ALTER, DROP |
搭建或修改数据库和表的"骨架"结构 |
| DCL (数据控制) | GRANT, REVOKE |
管理数据库的用户账号和操作权限 |
下面为你详细介绍每一类的常用基础语法:
🔍 DQL:数据查询语言 (Data Query Language)
这是日常开发中使用频率最高的部分,核心就是 SELECT 语句。
1. 基础查询
- 查询表中所有字段(生产环境慎用):
SELECT * FROM 表名; - 查询指定字段:
SELECT 字段1, 字段2 FROM 表名; - 给字段起别名(方便阅读):
SELECT 字段1 AS 别名 FROM 表名; - 去重查询:
SELECT DISTINCT 字段名 FROM 表名;
2. 条件过滤与排序
- 带条件的查询:
SELECT * FROM 表名 WHERE 字段 = 值; - 模糊查询(比如查名字带"张"的):
WHERE 姓名 LIKE '张%';(%代表任意字符) - 范围查询:
WHERE 年龄 BETWEEN 18 AND 25;或WHERE id IN (1, 2, 3); - 排序:
ORDER BY 字段名 DESC;(DESC为降序,ASC或不写默认为升序) - 分页限制:
LIMIT 10;(只返回前10条数据)
3. 聚合统计
- 配合
COUNT、SUM、AVG等函数使用:SELECT COUNT(*) FROM 表名; - 分组统计:
SELECT 部门, COUNT(*) FROM 员工表 GROUP BY 部门;
🛠️ DML:数据操作语言 (Data Manipulation Language)
用来对表里的具体记录进行"增删改"。
1. 插入数据 (INSERT)
- 插入单条:
INSERT INTO 表名 (字段1, 字段2) VALUES (值1, 值2); - 插入多条:
INSERT INTO 表名 (字段1, 字段2) VALUES (值1, 值2), (值3, 值4);
2. 更新数据 (UPDATE)
- 基础语法:**一定要带
WHERE条件!**否则会把整张表的数据都改掉。
UPDATE 表名 SET 字段1 = 新值 WHERE 条件;
3. 删除数据 (DELETE)
- 基础语法:同样必须带
WHERE条件 。
DELETE FROM 表名 WHERE 条件;
🏗️ DDL:数据定义语言 (Data Definition Language)
用来搭建和修改数据库的"容器"结构。
1. 操作库和表
- 创建数据库:
CREATE DATABASE 数据库名; - 创建表:
CREATE TABLE 表名 (字段1 类型, 字段2 类型); - 删除表/库:
DROP TABLE 表名;/DROP DATABASE 数据库名;
2. 修改表结构 (ALTER)
- 添加字段:
ALTER TABLE 表名 ADD COLUMN 新字段 类型; - 修改字段类型:
ALTER TABLE 表名 MODIFY COLUMN 字段 新类型; - 删除字段:
ALTER TABLE 表名 DROP COLUMN 字段名;
🔐 DCL:数据控制语言 (Data Control Language)
主要用于运维场景,管理谁能访问数据库。
- 创建用户:
CREATE USER '用户名'@'localhost' IDENTIFIED BY '密码'; - 授权:
GRANT SELECT, INSERT ON 数据库名.* TO '用户名'@'localhost';(赋予查询和插入权限) - 回收权限:
REVOKE INSERT ON 数据库名.* FROM '用户名'@'localhost';
💡 新手避坑小贴士
- 标点符号 :SQL 语句通常以英文分号
;结尾。 - 高危操作 :执行
UPDATE和DELETE之前,建议先用同样的条件写个SELECT查一下,看看筛选出来的数据是不是你想操作的,确认无误后再执行修改或删除。 - 大小写 :SQL 关键字不区分大小写(写
select或SELECT都可以),但为了代码可读性,行业惯例是将关键字全部大写。