MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

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

これで、AgeAddressの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の実行に時間がかかる場合があるため、本番環境での実行はトラフィックの少ない時間帯を選ぶなど、計画的に行いましょう。

  1. MySQLで列(カラム)を分割する方法!SUBSTRING_INDEX関数の使い方を徹底解説

    MySQLで列を分割するには?SUBSTRING_INDEX関数の基本MySQLで1つの列に格納された文字列を区切り文字で分割したい場合、SUBSTRING_INDEX()関数を使用します。この記事では、アンダースコア(_)で区切られた氏名データを分割する具体例を通じて、その使い方をわかりやすく解説します。1. サンプルテーブルの作成まず、以下のコマンドでテーブルを作成します。mysql> create table DemoTable -> ( -> Name varchar(40) -> );Query OK, 0 rows affected (1.

  2. PythonでMySQLのテーブルに新しい列(カラム)を追加する方法

    既存のテーブルに後から新しい列を追加したい場面は少なくありません。例えば、「Students(学生)」というテーブルに「Name(名前)」「Age(年齢)」「Roll no(出席番号)」といった列があるとします。ここに、新しく「Address(住所)」という列を追加したい場合、どうすればよいのでしょうか。このようなときに活躍するのがALTERコマンドです。ALTERコマンドは、データベース内の列を変更・削除・更新するためのコマンドで、ADD句と組み合わせることで、テーブルに新しい列を追加することもできます。構文ALTER TABLE table_name ADD new_column_name