A-A+
数据库核心功能:DML/DQL/DDL/DAL/事务,这些都是什么意思?

【注意:此文章为博主原创文章!转载需注意,请带原文链接,至少也要是txt格式!】
数据库(Database)的核心功能可以分为多个模块,每个模块对应特定类型的任务。以下是对 DML(Data Manipulation Language)、DQL(Data Query Language)、DDL(Data Definition Language)、DAL(Data Administration Language) 和事务的详细解释。
1. DML(Data Manipulation Language) - 数据操作语言
DML 是用于操作数据的语言,主要是对数据库中的数据进行增、删、改(Insert, Update, Delete)等操作。它不涉及数据结构的定义或修改,而是专注于数据本身。
- 核心功能:
- INSERT:向表中插入数据。
- UPDATE:修改表中的数据。
- DELETE:删除表中的数据。
- 示例:
sql复制代码
-- 插入一条新数据 INSERT INTO students (name, age, grade) VALUES ('Alice', 20, 'A'); -- 更新数据 UPDATE students SET grade = 'B' WHERE name = 'Alice'; -- 删除数据 DELETE FROM students WHERE age < 18;
2. DQL(Data Query Language) - 数据查询语言
DQL 是用于查询数据库中数据的语言,主要以 SELECT 为核心。它不会对数据进行修改,只是从数据库中提取数据以供展示或分析。
- 核心功能:
- SELECT:从表中查询数据。
- 常用功能包括:
- 数据的筛选(
WHERE
子句)。 - 数据排序(
ORDER BY
)。 - 分组统计(
GROUP BY
)。 - 聚合函数应用(如
SUM
、COUNT
等)。
- 数据的筛选(
- 示例:
sql复制代码
-- 查询所有学生信息 SELECT * FROM students; -- 查询特定学生的成绩 SELECT name, grade FROM students WHERE age > 18; -- 分组统计各年级的学生数 SELECT grade, COUNT(*) AS student_count FROM students GROUP BY grade;
3. DDL(Data Definition Language) - 数据定义语言
DDL 是用于定义或修改数据库结构的语言,包括表、视图、索引等对象的创建、更新和删除。
- 核心功能:
- CREATE:创建数据库对象(表、索引、视图、存储过程等)。
- ALTER:修改现有对象的结构(比如增加/删除表字段)。
- DROP:删除数据库对象。
- 示例:
sql复制代码
-- 创建一个学生表 CREATE TABLE students ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50), age INT, grade CHAR(1) ); -- 为学生表添加一个字段 ALTER TABLE students ADD COLUMN email VARCHAR(100); -- 删除学生表 DROP TABLE students;
4. DAL(Data Administration Language) - 数据管理语言
DAL 通常用于管理数据库的用户和权限。它的重点是控制谁可以访问数据库以及能执行哪些操作。
- 核心功能:
- GRANT:赋予用户权限。
- REVOKE:撤销用户权限。
- SHOW:显示数据库的结构或状态。
- 示例:
sql复制代码
-- 授予用户读取数据的权限 GRANT SELECT ON students TO 'user1'@'localhost'; -- 撤销用户的修改权限 REVOKE UPDATE ON students FROM 'user1'@'localhost'; -- 查看所有数据库 SHOW DATABASES; -- 查看表的结构 SHOW COLUMNS FROM students;
5. 事务(Transactions)
事务是数据库操作中的一个独立执行单元,确保一组相关的操作要么全部完成,要么全部撤销(回滚),以保证数据一致性。事务主要用于数据库的并发控制和错误恢复。
- 事务的四大特性(ACID):
- Atomicity(原子性):事务中的所有操作必须全部完成,否则全部回滚。
- Consistency(一致性):事务开始和结束时,数据库始终保持一致状态。
- Isolation(隔离性):多个事务相互独立,避免干扰。
- Durability(持久性):事务一旦提交,对数据库的修改是永久性的。
- 事务操作:
- BEGIN / START TRANSACTION:开始一个事务。
- COMMIT:提交事务,将所有操作永久保存。
- ROLLBACK:回滚事务,将操作撤销到事务开始前的状态。
- 示例:
sql复制代码
-- 使用事务进行操作 START TRANSACTION; -- 插入数据 INSERT INTO students (name, age, grade) VALUES ('Bob', 22, 'C'); -- 出现错误,回滚事务 ROLLBACK; -- 插入另一个数据并提交事务 INSERT INTO students (name, age, grade) VALUES ('Charlie', 23, 'B'); COMMIT;
总结
模块 | 全称 | 主要功能 |
---|---|---|
DML | Data Manipulation Language | 操作表中的数据(增、删、改)。 |
DQL | Data Query Language | 查询表中的数据(仅读取)。 |
DDL | Data Definition Language | 定义或修改数据库对象(表、视图、索引等)。 |
DAL | Data Administration Language | 管理用户权限及数据库状态。 |
事务 | Transactions | 保证数据操作的完整性和一致性(ACID)。 |
通过这些功能模块,数据库系统能够实现数据的完整存储、查询和管理。
布施恩德可便相知重
微信扫一扫打赏
支付宝扫一扫打赏