MySQLでテーブルに列を追加する方法をわかりやすく解説|ALTER TABLEの使い方
MySQLでテーブルに列を追加する基本の方法
MySQLでテーブルに新しい列を追加するには、ALTER TABLE文とADD COLUMN句を組み合わせて使用します。本記事では、まずId列とName列を持つサンプルテーブルを作成し、その後、ALTERコマンドを使ってAge列とAddress列を追加する手順を順番に解説します。
ステップ1:テーブルを作成する
まず、以下のクエリでテーブルを作成します。
mysql> create table AddingColumnNameDemo -> ( -> Id int, -> Name varchar(100) -> ); Query OK, 0 rows affected (0.65 sec)
ステップ2:DESCコマンドでテーブル構造を確認する
DESCコマンドを使うと、テーブルの構造(列名・データ型・NULL許可など)を一覧で確認できます。
mysql> desc AddingColumnNameDemo;
実行結果は次のとおりです。
+-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | Id | int(11) | YES | | NULL | | | Name | varchar(100) | YES | | NULL | | +-------+--------------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
上記の結果から、現時点ではテーブルに2つの列しか存在しないことがわかります。
ステップ3:ALTER TABLEで列を追加する構文
ALTERコマンドでAge列とAddress列を追加する際の基本構文は以下のとおりです。複数の列を追加する場合は、ADD COLUMN句をカンマで区切って並べます。
alter table yourTableName add column yourColumnName1 dataType, add column yourColumnName2 dataType, . . add column yourColumnNameN dataType;
ステップ4:実際に複数の列を追加する
この構文を実際のクエリに適用して、テーブルに複数の列を一度に追加してみましょう。
mysql> alter table AddingColumnNameDemo -> add column Age int, -> add column Address varchar(300); Query OK, 0 rows affected (0.53 sec) Records: 0 Duplicates: 0 Warnings: 0
これで、AgeとAddressの2つの新しい列が正常に追加されました。
ステップ5:追加結果を確認する
最後に、DESCコマンドでテーブル構造を再度確認します。以下がそのクエリです。
mysql> DESC AddingColumnNameDemo;
実行結果は次のとおりです。
+---------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+--------------+------+-----+---------+-------+ | Id | int(11) | YES | | NULL | | | Name | varchar(100) | YES | | NULL | | | Age | int(11) | YES | | NULL | | | Address | varchar(300) | YES | | NULL | | +---------+--------------+------+-----+---------+-------+ 4 rows in set (0.00 sec)
列が2つから4つに増えており、Age(int型)とAddress(varchar(300)型)が正しく追加されていることが確認できます。
補足:列の追加位置を指定したい場合
デフォルトでは、新しい列はテーブルの末尾に追加されます。特定の列の後ろに挿入したい場合は、AFTER句を使用します。
mysql> alter table AddingColumnNameDemo -> add column Email varchar(100) after Name;
また、テーブルの先頭に追加したい場合はFIRSTキーワードを指定します。なお、既存のデータ件数が多い大きなテーブルでは、ALTER TABLEの実行に時間がかかる場合があるため、本番環境での実行はトラフィックの少ない時間帯を選ぶなど、計画的に行いましょう。
-
MySQLで列(カラム)を分割する方法!SUBSTRING_INDEX関数の使い方を徹底解説
MySQLで列を分割するには?SUBSTRING_INDEX関数の基本MySQLで1つの列に格納された文字列を区切り文字で分割したい場合、SUBSTRING_INDEX()関数を使用します。この記事では、アンダースコア(_)で区切られた氏名データを分割する具体例を通じて、その使い方をわかりやすく解説します。1. サンプルテーブルの作成まず、以下のコマンドでテーブルを作成します。mysql> create table DemoTable -> ( -> Name varchar(40) -> );Query OK, 0 rows affected (1.
-
PythonでMySQLのテーブルに新しい列(カラム)を追加する方法
既存のテーブルに後から新しい列を追加したい場面は少なくありません。例えば、「Students(学生)」というテーブルに「Name(名前)」「Age(年齢)」「Roll no(出席番号)」といった列があるとします。ここに、新しく「Address(住所)」という列を追加したい場合、どうすればよいのでしょうか。このようなときに活躍するのがALTERコマンドです。ALTERコマンドは、データベース内の列を変更・削除・更新するためのコマンドで、ADD句と組み合わせることで、テーブルに新しい列を追加することもできます。構文ALTER TABLE table_name ADD new_column_name