> ⑦ALTERTABLEコマンド – ネットワークエンジニアチュートリアル

⑦ALTERTABLEコマンド

スポンサーリンク

無料でプログラマへ!30歳までなら無料でプログラミング学校に通うことが出来ます。下の画像をクリックして無料相談会でGO!

ALTERTABLEコマンド




ALTER TABLEコマンドは、既存のテーブルの列を追加、削除、または変更するために使用します。また、ALTER TABLEコマンドを使用して、既存の表にさまざまな制約を追加およびドロップする必要があります。

構文

既存のテーブルに新しい列を追加するALTER TABLEコマンドの基本的な構文は次のとおりです。

ALTER TABLE table_name ADD column_name datatype;

既存の表のDROP COLUMNに対するALTER TABLEコマンドの基本的な構文は次のとおりです。

ALTER TABLE table_name DROP COLUMN column_name;

テーブル内の列のデータ型を変更するALTER TABLEコマンドの基本的な構文は次のとおりです。

ALTER TABLE table_name MODIFY COLUMN column_name datatype;

表の列にNOT NULL制約を追加するALTER TABLEコマンドの基本的な構文は次のとおりです。

ALTER TABLE table_name MODIFY column_name datatype NOT NULL;

UNIQUE制約を追加した場合

ALTER TABLE table_name 
ADD CONSTRAINT MyUniqueConstraint UNIQUE(column1, column2...);

ADD CHECK CONSTRAINTをテーブルに追加するALTER TABLEコマンドの基本的な構文は次のとおりです。

ALTER TABLE table_name 
ADD CONSTRAINT MyUniqueConstraint CHECK (CONDITION);

PRIMARY KEYのADD、次のように表になります。

ALTER TABLE table_name 
ADD CONSTRAINT MyPrimaryKey PRIMARY KEY (column1, column2...);

テーブルからDROP CONSTRAINTへのALTER TABLEコマンドの基本構文は次のとおりです。

ALTER TABLE table_name 
DROP CONSTRAINT MyUniqueConstraint;

MySQLを使用している場合、コードは次のようになります。

ALTER TABLE table_name 
DROP INDEX MyUniqueConstraint;

DROP PRIMARY KEYの場合

ALTER TABLE table_name 
DROP CONSTRAINT MyPrimaryKey;

MySQLを使用している場合、コードは次のようになります。

ALTER TABLE table_name 
DROP PRIMARY KEY;

以下のレコードを持つCUSTOMERSテーブルから考えてみます

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | kodak    |  32 | Ahmedabad |  2000.00 |
|  2 | nikon    |  25 | Delhi     |  1500.00 |
|  3 | suzuki   |  23 | Kota      |  2000.00 |
|  4 | nissan   |  25 | Mumbai    |  6500.00 |
|  5 | tometo   |  27 | Bhopal    |  8500.00 |
|  6 | nakag    |  22 | MP        |  4500.00 |
|  7 | toshiki  |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

次に、既存のテーブルに新しい列を追加する例を示します。

ALTER TABLE CUSTOMERS ADD SEX char(1);

これで、CUSTOMERSテーブルが変更され、SEX行が追加されました

+----+---------+-----+-----------+----------+------+
| ID | NAME    | AGE | ADDRESS   | SALARY   | SEX  |
+----+---------+-----+-----------+----------+------+
|  1 | kodak   |  32 | Ahmedabad |  2000.00 | NULL |
|  2 | nikon   |  25 | Delhi     |  1500.00 | NULL |
|  3 | suzuki  |  23 | Kota      |  2000.00 | NULL |
|  4 | nissan  |  25 | Mumbai    |  6500.00 | NULL |
|  5 | tometo  |  27 | Bhopal    |  8500.00 | NULL |
|  6 | nakag   |  22 | MP        |  4500.00 | NULL |
|  7 | toshiki |  24 | Indore    | 10000.00 | NULL |
+----+---------+-----+-----------+----------+------+
ALTER TABLE CUSTOMERS DROP SEX;

これで、CUSTOMERSテーブルが変更され、次はSELECTステートメントの出力になります。

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | kodak    |  32 | Ahmedabad |  2000.00 |
|  2 | nikon    |  25 | Delhi     |  1500.00 |
|  3 | suzuki   |  23 | Kota      |  2000.00 |
|  4 | nissan   |  25 | Mumbai    |  6500.00 |
|  5 | tometo   |  27 | Bhopal    |  8500.00 |
|  6 | nakag    |  22 | MP        |  4500.00 |
|  7 | toshiki  |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

 



前のページ⑥インデックス

次のページ⑧TRUNCATE TABLEコマンド

スポンサーリンク

ネットワークエンジニアになりたければ下記から無料相談会に参加!
なんと無料で授業を受けれてエンジニアになれます

投稿日:2017-09-19 更新日:

執筆者: