云计算百科
云计算领域专业知识百科平台

一文读懂 SQL:从分类到实战操作

在数据库开发中,SQL 是我们与数据交互的核心语言。它不仅能帮我们查询、修改数据,还能定义数据库的结构和权限。今天,我们就从 SQL 分类入手,结合实战案例,把常用操作一网打尽。

一、SQL 五大分类:各司其职

1. 数据查询语言(DQL)

核心作用:从数据库中查询和检索数据(仅读取,不修改数据),是最常用的 SQL 类别。
核心关键字:SELECT(核心)、FROM、WHERE、GROUP BY、HAVING、ORDER BY、LIMIT、JOIN 等。

示例:查询前 10 名年龄大于 20 的用户姓名和手机号,并按年龄降序排列

SELECT name, phone
FROM users
WHERE age > 20
ORDER BY age DESC
LIMIT 10;

2. 数据操作语言(DML)

核心作用:操作(增/删/改)数据库中的数据(仅修改数据内容,不改变表结构)。
核心关键字:INSERT(新增)、UPDATE(修改)、DELETE(删除)、MERGE(合并,部分数据库支持)。

示例:

• 新增一条用户记录:

INSERT INTO users (name, age, phone) VALUES ('张三', 25, '13800138000');

• 修改用户手机号:

UPDATE users SET phone = '13900139000' WHERE id = 1;

• 删除年龄小于 18 的用户:

DELETE FROM users WHERE age < 18;

3. 数据定义语言(DDL)

核心作用:定义/修改/删除数据库对象(表、索引、视图、触发器、数据库等)的结构,操作会直接生效(无需事务提交)。
核心关键字:CREATE(创建)、ALTER(修改)、DROP(删除)、TRUNCATE(清空表,属于 DDL 而非 DML)、RENAME(重命名)。

示例:

• 创建用户表

CREATE TABLE users (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(50) NOT NULL,
  age INT,
  phone VARCHAR(20) UNIQUE
);

• 给用户表新增 email 字段:

ALTER TABLE users ADD COLUMN email VARCHAR(100);

• 删除用户表:

DROP TABLE users;

• 清空用户表(删除所有数据且不可回滚):

TRUNCATE TABLE users;

4. 数据控制语言(DCL)

核心作用:管理数据库的权限和事务,控制用户对数据库的访问权限、事务提交/回滚等。
核心关键字:GRANT(授权)、REVOKE(撤销权限)、COMMIT(提交事务)、ROLLBACK(回滚事务)、SAVEPOINT(保存点)、SET TRANSACTION(设置事务属性)。

示例:

• 授予用户 test 对 users 表的查询/插入权限:

GRANT SELECT, INSERT ON users TO 'test'@'localhost';

• 撤销 test 用户的插入权限:

REVOKE INSERT ON users FROM 'test'@'localhost';

• 提交事务(确认 DML 操作):

COMMIT;

• 回滚事务(撤销未提交的 DML 操作):

ROLLBACK;

5. 事务控制语言(TCL)

补充说明:部分分类体系中,TCL 会从 DCL 中独立出来,专门聚焦事务管理(本质是 DCL 的子集)。
核心关键字:COMMIT、ROLLBACK、SAVEPOINT。

示例:
• 开启事务(部分数据库需显式声明)

START TRANSACTION;
UPDATE users SET age = 26 WHERE id = 1;

• 设置保存点

SAVEPOINT sp1;
DELETE FROM users WHERE id = 2;

• 回滚到保存点(仅撤销删除操作,修改操作保留)

ROLLBACK TO sp1;

• 提交最终修改

COMMIT;

二、表结构修改实战:ALTER TABLE 详解

在日常开发中,我们经常需要修改已存在的表结构,ALTER TABLE 就是我们的核心工具。下面是常用操作的实战示例:

1. 新增字段(ADD)

— 增加字段

ALTER TABLE students ADD COLUMN dateT date;

— 设置默认值

ALTER TABLE students ADD dateT date DEFAULT "2025-12-12";

2. 修改字段(MODIFY)

注意:MODIFY 后必须明确指定「字段类型」,哪怕只是修改注释,也要重新声明类型。
— 修改字段类型、属性

ALTER TABLE students MODIFY dataT datetime;
ALTER TABLE students MODIFY dateT date comment "日期";

— 修改字段默认不为空

ALTER TABLE students MODIFY stu_id int not null;

— 修改字段默认为空

ALTER TABLE students MODIFY stu_id int default null;

3. 删除字段(DROP)

— 删除字段

ALTER TABLE students DROP length;

4. 重命名字段(CHANGE)

— 修改字段名称

ALTER TABLE students CHANGE stu_id sid varchar(255);

5. 修改表字符集

— 修改表的字符集

ALTER TABLE students CHARACTER SET utf8;

6. 重命名表(RENAME TO)

— 修改表名

ALTER TABLE students RENAME TO student;

— 另外一种写法

RENAME TABLE students TO student;

7. 删除表(DROP TABLE)

— 删除表

DROP TABLE IF EXISTS students;

三、核心总结表

分类 核心作用 核心关键字 典型操作 
DQL 查询数据 SELECT、FROM、WHERE 多表查询、统计 
DML 增删改数据 INSERT、UPDATE、DELETE 新增记录、改值 
DDL 定义/修改数据库结构 CREATE、ALTER、DROP 建表、删索引 
DCL 权限/事务控制(广义) GRANT、REVOKE、COMMIT 授权、提交事务 
TCL 事务控制(狭义) COMMIT、ROLLBACK、SAVEPOINT 回滚、保存点 

掌握 SQL 的分类和常用操作,能让我们在数据库开发中更加得心应手。无论是查询数据、修改表结构,还是管理权限和事务,都能游刃有余。
 

赞(0)
未经允许不得转载:网硕互联帮助中心 » 一文读懂 SQL:从分类到实战操作
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!