Coursera 笔记

Module 02 · Introduction to Relational Databases and Tables

ALTER, DROP, and Truncate TablesALTER、DROP 和 TRUNCATE TABLE 语句

Coursera ↗

欢迎来到 修改、删除和清空表 的课程。

学习目标

观看本视频后,您将能够:

  • 描述 ALTER TABLE、DROP TABLE 和 TRUNCATE TABLE 语句。
  • 解释它们的语法。
  • 在查询中使用这些语句。

1ALTER TABLE语句:修改表结构

ALTER TABLE 语句用于修改现有表的结构。

用途

您可以使用 ALTER TABLE 语句执行以下操作:

  • 添加或移除列。
  • 修改列的数据类型。
  • 添加或移除键(Keys)。
  • 添加或移除约束(Constraints)。

语法结构

ALTER TABLE 语句的语法如下:

SQL

ALTER TABLE table_name action [parameter];

与 CREATE TABLE 语句不同,ALTER TABLE 语句不使用圆括号来包含参数。ALTER TABLE 语句的每一行通常指定您要对表进行的一项更改。

操作示例

操作 语句示例 作用描述
添加列 (ADD COLUMN) ALTER TABLE author ADD COLUMN telephone_number BIGINT; 在 author 表中添加一个名为 telephone_number 的列。其中 BIGINT 是数据类型,可存储长达 19 位的数字。
修改数据类型 (MODIFY) ALTER TABLE author MODIFY telephone_number CHAR(20); 将 telephone_number 列的数据类型修改为 CHAR(20)。这允许包含非数字字符(如括号、加号或破折号)。
删除列 (DROP COLUMN) ALTER TABLE author DROP COLUMN telephone_number; 从 author 表中移除 telephone_number 列。

⚠️ 修改数据类型时的注意事项:

如果列中已存在数据,修改数据类型可能会导致问题,特别是当现有数据与新数据类型不兼容时。例如,如果列中已包含非数字数据,则无法将其数据类型从字符型更改为数字型。如果尝试这样做,您将在通知日志中看到错误消息,并且该语句将不会运行。


2DROP TABLE语句:删除表

DROP TABLE 语句用于从数据库中删除整个表。

语法

SQL

DROP TABLE table_name;

作用

  • 删除表结构: 移除数据库中的表定义。
  • 删除数据: 如果删除包含数据的表,则默认情况下数据将与表一起被删除。

示例

SQL

DROP TABLE author;

该语句将从数据库中移除 author 表。


3TRUNCATE TABLE语句:清空数据

TRUNCATE TABLE 语句用于删除表中的所有行数据,但保留表本身及其结构。

💡 替代 DELETE 语句: 虽然可以使用不带 WHERE 子句的 DELETE 语句来删除表中的所有数据,但通常 TRUNCATE TABLE 速度更快且效率更高。

语法

SQL

TRUNCATE TABLE table_name IMMEDIATE;
  • IMMEDIATE: 指定立即处理该语句,并且不可撤销(cannot be undone)。

示例

SQL

TRUNCATE TABLE author IMMEDIATE;

该语句将删除 author 表中的所有数据行。


总结

在本视频中,您学习了:

  • ALTER TABLE** 语句:** 用于更改现有表的结构,例如添加、修改或删除列。
  • DROP TABLE** 语句:** 用于删除现有的表(结构和数据)。
  • TRUNCATE TABLE** 语句:** 用于删除表中的所有数据行(保留表结构)。