DDL、DML 和 DQL区分

DDL、DML 和 DQL

在数据库操作中,DDL、DML 和 DQL 是 SQL 语言的三个主要组成部分,它们分别用于不同的数据库操作任务。

DDL (Data Definition Language, 数据定义语言):
DDL 用于定义、修改和删除数据库中的对象,但不直接操作数据本身。如表、视图、索引、存储过程等。DDL 语句包括 CREATE、ALTER、DROP 等。这些操作通常由数据库管理员执行,因为它们会影响数据库的结构。

  • CREATE:创建新的数据库对象,如表、索引、视图等。
  • ALTER:修改现有数据库对象的结构,如添加、删除或修改表的列。
  • DROP:删除数据库对象,如表、索引、视图等。

DML (Data Manipulation Language, 数据操纵语言):
DML 用于操作数据库中的数据,包括插入(INSERT)、更新(UPDATE)、删除(DELETE)和选择(SELECT)数据。DML 语句直接影响数据库中的数据内容,但不改变数据库的结构。

  • INSERT:向表中添加新的数据行。
  • UPDATE:修改表中的现有数据。
  • DELETE:从表中删除数据行。

总结来说,DDL 负责数据库结构的创建和修改,DQL 负责查询数据,而 DML 负责对数据进行增删改操作。这三者共同构成了 SQL 的核心功能,使得用户能够全面地管理和操作数据库。

DQL (Data Query Language, 数据查询语言):
DQL 是 DML 的一个子集,专门用于查询数据库中的数据。DQL 的主要语句是 SELECT,它用于检索数据库中的数据,但不修改数据。SELECT 语句可以包含复杂的条件、排序、分组和聚合函数,以满足不同的查询需求。

  • SELECT:用于从表中选择数据,可以结合 WHERE、JOIN、GROUP BY 等子句来过滤、排序和分组数据。
    以下是每种语言的一些示例语句:

DDL 示例:

-- 创建表
CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(100),
    age INT,
    salary DECIMAL(10, 2)
);

-- 修改表结构,添加新列
ALTER TABLE employees ADD COLUMN department VARCHAR(50);

-- 删除表
DROP TABLE employees;

DML 示例:

-- 插入数据
INSERT INTO employees (id, name, age, salary) VALUES (1, 'Alice', 30, 50000.00);

-- 更新数据
UPDATE employees SET salary = salary * 1.05 WHERE id = 1;

-- 删除数据
DELETE FROM employees WHERE id = 2;

DQL 示例:

-- 查询所有员工信息
SELECT * FROM employees;

-- 查询特定条件的员工信息
SELECT name, salary FROM employees WHERE age > 25;

-- 使用聚合函数查询
SELECT COUNT(*), AVG(salary) FROM employees;

在实际应用中,DDL 通常在数据库设计和初始化阶段使用,而 DML 和 DQL 则在日常数据库操作中频繁使用。DML 用于数据的增删改操作,DQL 用于数据的查询操作。

碰到好东西就要多多分享呀…。
转载请注明原文链接…

相关推荐

  1. DDLDML DQL区分

    2024-03-12 02:42:03       22 阅读
  2. DDLDML

    2024-03-12 02:42:03       22 阅读
  3. DQLDCL mysql常用的函数

    2024-03-12 02:42:03       29 阅读
  4. MySQL:DDLDML语句

    2024-03-12 02:42:03       17 阅读
  5. windows系统lib文件dll文件的区别

    2024-03-12 02:42:03       33 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-12 02:42:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-12 02:42:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-12 02:42:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-12 02:42:03       18 阅读

热门阅读

  1. oracle 数据链接过多,导致后续链接链接不上

    2024-03-12 02:42:03       22 阅读
  2. 开发总结12-call、apply、bind区别

    2024-03-12 02:42:03       20 阅读
  3. ZYNQ--GT收发器(TX)

    2024-03-12 02:42:03       21 阅读
  4. PYTHON 120道题目详解(97-99)

    2024-03-12 02:42:03       19 阅读
  5. 把flask 项目部署在windows上步骤

    2024-03-12 02:42:03       18 阅读
  6. flutter无法在windows平台上拖拽文件到它的窗口中

    2024-03-12 02:42:03       16 阅读
  7. Go微服务: 基于GRPC结合Consul实现微服务调用

    2024-03-12 02:42:03       16 阅读