【MySQL】カラムの名前や定義を変更する
2025/04/07
### 名前だけを変更する
```sql
ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name;
# 例
ALTER TABLE users RENAME COLUMN name TO name_enc;
```
### 定義だけを変更する
```sql
ALTER TABLE table_name MODIFY column_name column_definition;
# 例
ALTER TABLE users MODIFY name varchar(20) NOT NULL;
```
### 名前も定義も変更する
```sql
ALTER TABLE table_name CHANGE COLUMN old_column_name new_column_name column_definition;
# 例
ALTER TABLE users CHANGE COLUMN name name_enc varchar(20) NOT NULL;
```
`CHANGE COLUMN`は`RENAME`と`MODIFY`の機能を含んでいますが、変更されない要素があった場合でも省略できないため冗長になることがあります。
[公式ドキュメント](https://dev.mysql.com/doc/refman/8.0/ja/alter-table.html)