A-A+

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

2025年01月21日 16:22 学习笔记 暂无评论 共2274字 (阅读77 views次)

【注意:此文章为博主原创文章!转载需注意,请带原文链接,至少也要是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)。
    • 聚合函数应用(如 SUMCOUNT 等)。
  • 示例
    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)。

通过这些功能模块,数据库系统能够实现数据的完整存储、查询和管理。

布施恩德可便相知重

微信扫一扫打赏

支付宝扫一扫打赏

×

给我留言