ALTER TABLE修改列的不同方法

359 阅读1分钟

修改数据表中的列的定义有四种不同的方式,下面分别了解下不同方式之间有什么差异。

Modify Column

  • 可以修改列的定义但不能重命名
  • 修改列定义比 Change 更方便
  • 使用 FirstAfter 可以重新排列列顺序
ALTER TABLE TABLE_NAME
    MODIFY [COLUMN] col_name column_definition
        [FIRST | AFTER col_name]

Alter Column

  • 仅用于修改列的默认值
ALTER TABLE TABLE_NAME
    ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}

Change Column

  • 既可以重命名列,也可以修改列的定义
  • ModifyRename 功能强大,但是牺牲了便利性。
    • 如果不重命名,需要对列命名两次
    • 如果仅重命名,需求重新指定列定义
  • 使用 FirstAfter 可以重新排列列顺序
ALTER TABLE TABLE_NAME
    CHANGE [COLUMN] old_col_name new_col_name column_definition
        [FIRST|AFTER col_name]

Rename Column

  • 可以重命名列,但不能修改列定义
  • 重命名列比 Change 更方便
ALTER TABLE TABLE_NAME
    RENAME COLUMN old_col_name TO new_col_name

  重命名 重定义 性能 列排序
MODIFY
RENAME
CHANGE
ALTER 仅更新默认值