DDL 全称
客户端可以使用称为数据集管理框架 (DBMS) 的编程来存储、引导和恢复数据集中的信息。DBMS 语言和接口是 DBMS 的重要组成部分,支持用户与数据库系统交互。
数据定义语言在 SQL 中称为 DDL。它是 SQL(结构化查询语言)的一部分,用于指定和控制数据库的结构。使用 DDL 命令可以创建、修改和删除表、索引、视图和约束等数据库对象。
DDL 命令
DDL 命令有很多,例如 −
CREATE −create 命令用于创建新的数据库对象,例如表、视图或索引。 CREATE 命令的语法将根据正在生成的对象类型而变化。
示例
例如,下面的 SQL 查询创建了"employees"数据库,其中包含"id"、"name"和"salary"列 -
CREATE TABLE employees ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, salary DECIMAL(10,2) );
输出
+----+--------+---------+ | id | name | salary | +----+--------+---------+
ALTER −ALTER 用于更改数据库对象的现有结构。您可以使用 ALTER 命令创建、修改或删除列、约束或索引。
示例
例如,"employees"数据库通过以下 SQL 查询获得了一个名为"department"的新字段 −
ALTER TABLE employees ADD department VARCHAR(50);
输出
+----+--------+--------+-------------+ | id | name | salary | department | +----+--------+--------+-------------+
DROP − DROP 用于删除表、视图或其他现有数据库对象。使用 DROP 命令将永久删除对象及其所有相关数据。
示例
例如,使用以下 SQL 查询删除"employees"表 −
DROP TABLE employees;
输出
The "employees" table and all of its data would be permanently wiped following the execution of the "DROP TABLE employees" command, and there would be no input or output table to show.
TRUNCATE − TRUNCATE 可以删除表中所有已存在的数据。与 DROP 相比,Shorten 操作基本上是从数据集中删除信息,而不是从实际的表中删除信息。
示例
假设这是员工的表 −
+----+--------+--------+-------------+ | id | name | salary | department | +----+--------+--------+-------------+ | 1 | Alice | 50000 | Engineering | | 2 | Bob | 60000 | Marketing | | 3 | Charlie| 75000 | Sales | | 4 | Dave | 65000 | Engineering | | 5 | Eve | 55000 | Marketing | +----+--------+--------+-------------+
例如,"employees"表被下面的 SQL 表达式截断 -
TRUNCATE TABLE employees;
输出
Output Table: +----+------+-------+------------+ | id | name | salary| department | +----+------+-------+------------+ | | | | | +----+------+-------+------------+
TRUNCATE 命令会完全删除"employees"表的数据,但表本身保持不变。运行该命令后,表仍然存在,但其中没有任何数据行。输出表显示运行该命令后"employees"表的结构,但没有任何数据。
RENAME − 此命令用于重命名现有数据库中的表或列。
示例
输入表
+----+--------+--------+-------------+ | id | name | salary | department | +----+--------+--------+-------------+ | 1 | Alice | 50000 | Engineering | | 2 | Bob | 60000 | Marketing | | 3 | Charlie| 75000 | Sales | | 4 | Dave | 65000 | Engineering | | 5 | Eve | 55000 | Marketing | +----+--------+--------+-------------+
例如,在以下 SQL 查询中,将"员工"表从"员工"表重命名为 -
RENAME TABLE employees TO staff;
输出
+----+--------+--------+-------------+ | id | name | salary | department | +----+--------+--------+-------------+ | 1 | Alice | 50000 | Engineering | | 2 | Bob | 60000 | Marketing | | 3 | Charlie| 75000 | Sales | | 4 | Dave | 65000 | Engineering | | 5 | Eve | 55000 | Marketing | +----+--------+--------+-------------+
CQL 命令"RENAME TABLE employees TO staff"只是将当前键空间中现有的"employees"表重命名为"staff",因此输入表和输出表没有任何变化。表的列和内容保持不变。
因此,输入表和输出表的数据和结构完全相同。唯一的区别是表名,从"employees"更改为"staff"。
结论
数据库结构的管理依赖于 DDL 指令。DBA 可以使用 DDL 命令创建、修改和销毁数据库对象,包括表、视图和索引。此外,数据完整性限制(例如主键、唯一约束和外键)也通过 DDL 命令强制执行。

