MySQL DML、DDL的区别及作用

作为一名刚入行的开发者,理解数据库操作语言(SQL)的基本分类和作用是非常重要的。在MySQL中,SQL主要分为两大类:数据定义语言(DDL)和数据操作语言(DML)。本文将详细介绍它们的区别及作用。

流程图

首先,我们通过一个流程图来展示DML和DDL的基本操作流程。

flowchart TD
    A[开始] --> B[选择操作类型]
    B -->|DDL| C[定义数据结构]
    B -->|DML| D[操作数据]
    C --> E[创建表(Create Table)]
    C --> F[修改表(Alter Table)]
    C --> G[删除表(Drop Table)]
    D --> H[插入数据(Insert)]
    D --> I[查询数据(Select)]
    D --> J[更新数据(Update)]
    D --> K[删除数据(Delete)]
    E --> L[结束]
    F --> L
    G --> L
    H --> L
    I --> L
    J --> L
    K --> L

状态图

接下来,我们通过状态图来表示DML和DDL操作的生命周期。

stateDiagram-v2
    [*] --> DDL
    DDL --> [*]
    DDL --> DML
    DML --> [*]

DDL(数据定义语言)

DDL用于定义和管理数据库的结构。主要操作包括创建、修改和删除数据库对象,如表、索引等。

1. 创建表(Create Table)

CREATE TABLE employees (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    department VARCHAR(100),
    salary DECIMAL(10, 2)
);

这条代码创建了一个名为employees的表,包含四个字段:id(主键,自动增长),namedepartmentsalary

2. 修改表(Alter Table)

ALTER TABLE employees ADD COLUMN email VARCHAR(255);

这条代码在employees表中添加了一个名为email的新列。

3. 删除表(Drop Table)

DROP TABLE IF EXISTS employees;

这条代码删除了employees表,如果表存在的话。

DML(数据操作语言)

DML用于对数据库中的数据进行操作,包括插入、查询、更新和删除数据。

1. 插入数据(Insert)

INSERT INTO employees (name, department, salary, email)
VALUES ('John Doe', 'Marketing', 50000.00, 'john.doe@example.com');

这条代码向employees表中插入了一条新记录。

2. 查询数据(Select)

SELECT * FROM employees WHERE department = 'Marketing';

这条代码查询了employees表中所有属于市场部门的员工记录。

3. 更新数据(Update)

UPDATE employees SET salary = salary * 1.1 WHERE department = 'Marketing';

这条代码将市场部门所有员工的工资提高了10%。

4. 删除数据(Delete)

DELETE FROM employees WHERE id = 1;

这条代码从employees表中删除了ID为1的记录。

结语

通过本文的介绍,你应该对MySQL中的DML和DDL有了基本的了解。DML用于数据操作,而DDL用于数据结构的定义和管理。掌握这些基础知识对于成为一名优秀的开发者至关重要。继续学习和实践,你将能够更深入地理解SQL语言的强大功能。