MySQL,ALTER TABLEでカラムを列と列の間に追加する

スポンサーリンク

鍛錬 896

MySQL,ALTER TABLEでカラムを列と列の間に追加する

テーブルの列と列の間にカラムを追加(挿入)するには、ALTER TABLE に AFTER を付加して使用します。
 
使用方法は、以下に示す通りです。

「カラム名2」の後ろに「カラム名1」が追加されます。

ALTER TABLE テーブル名 ADD カラム名1 データ型 AFTER カラム名2;
スポンサーリンク

実行結果

以下は、新しいカラム「name (データ型 varchar(256))」をテーブル「fruits」の2列目に追加後、UPDATE を使用してデータを入力しています。

関連記事:MySQL,UPDATEで条件に一致するデータのみを編集する
 
追加前のテーブル

id price
1 250
2 300
3 500

追加後のテーブル

id name price
1 apple 250
2 orange 300
3 grape 500
mysql> 
mysql> select * from fruits;
+------+-------+
| id   | price |
+------+-------+
|    1 |   250 |
|    2 |   300 |
|    3 |   500 |
+------+-------+
3 rows in set (0.00 sec)

mysql> 
mysql> 
mysql> alter table fruits add name varchar(256) after id;
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> 
mysql> 
mysql> select * from fruits;
+------+------+-------+
| id   | name | price |
+------+------+-------+
|    1 | NULL |   250 |
|    2 | NULL |   300 |
|    3 | NULL |   500 |
+------+------+-------+
3 rows in set (0.00 sec)

mysql> 
mysql> 
mysql> update fruits set name='apple' where id=1;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> update fruits set name='orange' where id=2;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> update fruits set name='grape' where id=3;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> 
mysql> 
mysql> select * from fruits;
+------+--------+-------+
| id   | name   | price |
+------+--------+-------+
|    1 | apple  |   250 |
|    2 | orange |   300 |
|    3 | grape  |   500 |
+------+--------+-------+
3 rows in set (0.00 sec)

 
上記に示した通り、テーブルの列と列の間に新しいカラムを追加することができました。

タイトルとURLをコピーしました