修改数据表中的列的定义有四种不同的方式,下面分别了解下不同方式之间有什么差异。
Modify Column
- 可以修改列的定义但不能重命名
- 修改列定义比
Change
更方便 - 使用
First
或After
可以重新排列列顺序
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
- 既可以重命名列,也可以修改列的定义
- 比
Modify
和Rename
功能强大,但是牺牲了便利性。- 如果不重命名,需要对列命名两次
- 如果仅重命名,需求重新指定列定义
- 使用
First
或After
可以重新排列列顺序
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 | ❎ | 仅更新默认值 | 高 | ❎ |
网友评论