SQL 中的 DDL 命令2025年7月16日 | 阅读 8 分钟 在 SQL 中,DDL 代表 数据定义语言。它是一种 SQL 命令,用于定义和管理数据库结构。数据定义语言的命令处理数据应如何存储在数据库中。它们允许用户在数据库中 创建、修改 或 删除 数据。 DDL 有许多用于对数据库执行多种操作的命令。这些命令有助于管理数据库结构。 DDL 命令以下是用于管理数据库的 DDL 命令列表 ![]()
CREATE 命令CREATE 命令用于创建数据库、表、触发器和其他数据库对象。 SQL 中 CREATE 命令的示例示例 1:使用 CREATE DDL 命令创建新数据库数据库 是存储在其内部的数据的集合,而 创建数据库 是设计关系数据系统的第一步。因此,让我们了解如何创建它。 创建数据库的语法假设您要创建 Entertainment 数据库。要做到这一点,您需要编写以下 DDL 命令 示例 2:使用 CREATE DDL 命令创建新表在数据库中,数据以表的形式存储。表是存储列中数据的数据库对象。让我们了解如何创建表。 创建新表的语法参数CREATE TABLE: 此关键字用于创建新表。 table_name: 在此处,我们写入分配给表的表名。 column_name_1, column_name_2, ..... column_name_3: 在此处,我们写入要在表中创建的每个列名。 data_type: 它定义了列的数据类型。 假设您想在数据库中创建一个名为 movies 的包含三个列的表。要做到这一点,您需要编写以下 DDL 命令 示例说明在上面的示例中,CREATE TABLE 语句用于创建新表。在表中,movie_id 被定义为 unique 和 NOT NULL,通过 primary key 实现。我们将 title 的类型定义为 VARCHAR(100),表示它将存储最多 100 个字符,而 release_year 只存储 INT 类型的数据。 示例 3:使用 CREATE DDL 命令创建新索引创建新索引的语法参数 CREATE INDEX: 这是用于在表上创建索引的命令。 ON: 这是一个关键字,用于告知将创建索引的表的名称。 Name_of_Index: 这是索引的名称。 Name_of_Table: 这是表的名称。 column_name_1 , column_name_2 , ... . , column_name_N: 这些是将在其上应用索引的列名。 让我们看 movies 表
假设您想在 movies 表的 title 字段上创建索引。为此,我们必须使用以下 DDL 命令 示例 4:使用 DDL CREATE 命令在数据库中创建触发器创建触发器的语法参数CREATE TRIGGER: 这是创建新 触发器 的 DDL 命令。 BEFORE|AFTER: 它用于指示触发器是在事件 之前 还是 之后 触发。 INSERT | UPDATE | DELETE: 这些是触发器命中时执行的操作,例如插入、更新或从表中删除数据 ON: 它选择将应用触发器的表。 table_name: 这是将应用触发器的表的名称。 FOR EACH ROW: 此语句用于为每一行运行一次触发器。 BEGIN: 代码块从这里开始执行,当触发器命中时。 END: 它表示代码块的结束。SQL 语句写在 BEGIN 和 END 关键字之间。 假设您想在 movies 表上创建一个触发器,以便在删除行后将日志插入 movies_log 表。要做到这一点,您需要编写以下 DDL 命令 SQL 查询输出
说明在上面的示例中,我们创建了一个 after_delete_movies 触发器,以便当我们从 movies 表中删除一行时,触发器会运行并将相应的日志条目插入 movie_log 表。 正如我们在输出中看到的,通过 AFTER DELETE 触发器,在 movies_log 表中创建了一个新的条目,其 log_id = 1。 ALTER 命令ALTER 命令用于在不删除或重新创建表的情况下修改现有表的数据库结构。如果用户想添加、删除或修改表,则可以通过 ALTER 命令轻松完成任务。 为了更清楚地解释,我们提供了一些示例及其语法和说明。 示例 1:向表中添加新列语法参数ALTER TABLE: ALTER TABLE 命令用于更改现有表的结构。 ADD: 此关键字告诉 SQL 用户想要添加一个新列。 table_name: 这是表的名称。 column_name: 这是列的名称。 datatype: 在这里,将出现数据类型的名称。 假设您想在现有 employees 表中添加 email 列。要做到这一点,您需要编写以下 DDL 命令 说明在上面的查询中,我们在 employees 表中添加了一个名为 email 的新列,并且 email 的数据类型是 VARCHAR(100)。 示例 2:更改现有列的名称或数据类型语法参数MODIFY: 此关键字告诉 SQL 用户想要修改现有列。 假设您想更改现有 movies 表的 title 列的数据类型。要做到这一点,您需要编写以下 DDL 命令 说明在上面的示例中,我们将 title 列的数据类型从 VARCHAR(100) 修改为 VARCHAR(200)。 示例 3:从表中删除列语法参数DROP COLUMN: 通过此命令,我们可以永久地从表中删除一列。 查询说明根据上面的查询,我们使用 DROP COLUMN 关键字删除了 release_year 列。 示例 4:重命表中列语法参数RENAME TO: 这是用于更改现有表名称的 SQL 命令。 查询说明在上面的示例中,我们使用 RENAME TO 命令将 'movies' 表重命名为 'films'。 DROP 命令DROP 是一个 DDL 命令,用于删除/移除数据库中的数据库对象。我们可以使用此 DDL 命令轻松地从数据库中删除整个表、视图或索引。 SQL 中 DROP 命令的示例示例 1:从数据库中删除数据库删除数据库的语法假设您想从数据库中删除 Entertainment 数据库。要做到这一点,您需要编写以下 DDL 命令 示例 2:从数据库中删除现有表删除表的语法假设您想从数据库中删除 movies 表。要做到这一点,您需要编写以下 DDL 命令 示例 3:从数据库中删除现有索引删除索引的语法假设您想从数据库中删除 index_title。要做到这一点,您需要编写以下 DDL 命令 TRUNCATE 命令TRUNCATE 命令 用于当我们想删除表中的所有记录但表结构不被删除时。它比删除更快,因为它只需单击一下即可删除所有行。我们保留结构以便将来使用,并将数据插入到相同的结构中。此命令还删除用于存储表记录的空间。 语法参数TRUNCATE TABLE: 此命令删除表中的所有行。 table_name: 这是将删除记录的表的名称。 示例假设您想删除 movies 表的记录。要做到这一点,您需要编写以下 DDL 命令 说明在上面的示例中,我们删除了 movies 表中的所有行。 RENAME 命令RENAME 是一个 DDL 命令,用于更改数据库对象的名称,例如列名和表名。 示例 1:将旧表名更改为新表名语法参数RENAME TABLE: RENAME TABLE 命令告知数据库用户想要更改表的名称。 TO: 此关键字将旧表连接到新表。 old_table_name: 这是旧表的名称。 new_table_name: 这是新表的名称。 假设您想将表名从 'movies' 更改为 'films'。要做到这一点,您需要编写以下 DDL 命令 说明在上面的示例中,我们将 'movies' 表更改为 'films' 表。 示例 2:将旧列名更改为新列名语法参数RENAME COLUMN: 此命令告知数据库用户想要更改指定列的名称。 TO: 此关键字将旧列连接到新列。 old_column_name: 这是旧列的名称。 new_column_name: 这是新列的名称。 假设您想将 movies 表的 'title' 列名更改为 'film_title'。要做到这一点,您需要编写以下 DDL 命令 说明在上面的示例中,我们将 movies 表的列名从 'title' 更改为 'film_title'。 结论SQL 中的 DDL 命令 用于处理数据库结构。这些命令允许用户在数据库中 创建、修改 和 删除 对象。DDL 命令帮助用户创建新表或修改现有表。这些命令有助于创建灵活、可扩展且高效的数据库,支持可靠的数据管理。 下一主题SQL 中的 DML 命令 |
我们请求您订阅我们的新闻通讯以获取最新更新。