根据题目要求,我们需要在 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;

代码说明

  1. ALTER TABLE

    • 用于修改表结构,包括添加、删除或修改列。
  2. ADD COLUMN

    • 用于向表中添加新列。
    • create_date 是新增列的名称。
    • DATETIME 是列的数据类型。
    • NOT NULL 表示该列不允许为空。
    • DEFAULT '2020-10-01 00:00:00' 表示该列的默认值为 '2020-10-01 00:00:00'
  3. AFTER last_update

    • 指定新列 create_date 的位置,将其添加到 last_update 列之后。
    • 如果不指定位置,默认会将新列添加到表的最后。

知识点拓展

1. 修改表结构

  • ALTER TABLE 是用于修改表结构的 SQL 语句,常见的操作包括:
    • 添加列:ADD COLUMN
    • 删除列:DROP COLUMN
    • 修改列:MODIFY COLUMN
    • 重命名列:CHANGE COLUMN

2. 默认值(DEFAULT

  • 默认值是列的默认值,当插入数据时未显式指定该列的值时,将自动使用默认值。
  • 默认值可以是常量(如字符串、数字、日期等)。

3. 列位置(AFTERFIRST

  • 在 MySQL 中,可以通过 AFTERFIRST 指定新列的位置。
    • AFTER column_name:将新列添加到指定列之后。
    • FIRST:将新列添加到表的第一列。