Module 02 · Introduction to Relational Databases and Tables
ALTER, DROP, and Truncate TablesALTER、DROP 和 TRUNCATE TABLE 语句
欢迎来到 修改、删除和清空表 的课程。
学习目标
观看本视频后,您将能够:
- 描述
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** 语句:** 用于删除表中的所有数据行(保留表结构)。