ALTER TABLE修改列的不同方法

Michel發表於2018-07-11

修改資料表中的列的定義有四種不同的方式,下面分別瞭解下不同方式之間有什麼差異。

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 僅更新預設值

相關文章