根据题目要求,我们需要在 actor
表的 last_update
列后面新增一列,列名为 create_date
,类型为 datetime
,并且该列不允许为空(NOT NULL
),默认值为 '2020-10-01 00:00:00'
。
SQL 解决方案
ALTER TABLE actor
ADD COLUMN create_date DATETIME NOT NULL DEFAULT '2020-10-01 00:00:00' AFTER last_update;
代码说明
-
ALTER TABLE
:- 用于修改表结构,包括添加、删除或修改列。
-
ADD COLUMN
:- 用于向表中添加新列。
create_date
是新增列的名称。DATETIME
是列的数据类型。NOT NULL
表示该列不允许为空。DEFAULT '2020-10-01 00:00:00'
表示该列的默认值为'2020-10-01 00:00:00'
。
-
AFTER last_update
:- 指定新列
create_date
的位置,将其添加到last_update
列之后。 - 如果不指定位置,默认会将新列添加到表的最后。
- 指定新列
知识点拓展
1. 修改表结构
ALTER TABLE
是用于修改表结构的 SQL 语句,常见的操作包括:- 添加列:
ADD COLUMN
- 删除列:
DROP COLUMN
- 修改列:
MODIFY COLUMN
- 重命名列:
CHANGE COLUMN
- 添加列:
2. 默认值(DEFAULT
)
- 默认值是列的默认值,当插入数据时未显式指定该列的值时,将自动使用默认值。
- 默认值可以是常量(如字符串、数字、日期等)。
3. 列位置(AFTER
和 FIRST
)
- 在 MySQL 中,可以通过
AFTER
或FIRST
指定新列的位置。AFTER column_name
:将新列添加到指定列之后。FIRST
:将新列添加到表的第一列。