注: 最新のヘルプ コンテンツをできるだけ早く、お客様がお使いの言語で提供したいと考えております。 このページは、自動翻訳によって翻訳されているため、文章校正のエラーや不正確な情報が含まれている可能性があります。 私たちの目的は、このコンテンツがお客様の役に立つようにすることです。 お客様にとって役立つ情報であったかどうかを、このページの下部でお知らせください。 簡単に参照できるように、こちらに英語の記事があります。
CREATE TABLE ステートメントを使用してテーブルを作成した後に、テーブルのデザインを変更します。
注: Microsoft Access データベース エンジンは、Microsoft Access データベース エンジン以外のデータベースでは ALTER TABLE 句やデータ定義言語ステートメントを使用できません。 代わりに DAO の Create メソッドを使用してください。
構文
ALTER table table {ADD {COLUMN field type[(サイズ)] [not NULL] [制約インデックス] |
列フィールドの種類の変更 [(サイズ)] |
制約複数フィールドインデックス} |
DROP {COLUMN field I 制約indexname}}
ALTER TABLE ステートメントでは、次の引数を使用します。
引数 | 説明 |
---|---|
table |
変更されるテーブルの名前です。 |
field |
table に追加または削除されるフィールドの名前です。 または、table で変更されるフィールドの名前です。 |
type |
field のデータ型です。 |
size |
文字数単位のフィールド サイズです (テキスト型とバイナリ型のフィールドのみ)。 |
index |
field のインデックスです。 |
multifieldindex |
table に追加される複数フィールド インデックス定義です。 |
indexname |
削除される複数フィールド インデックスの名前です。 |
解説
ALTER TABLE ステートメントを使用すると、いくつかの方法で既存のテーブルを変更できます。 次の操作を行うことができます。
-
ADD COLUMN を使用して新しいフィールドをテーブルに追加します。 フィールド名、データ型、および (テキスト型とバイナリ型のフィールドの場合) 省略可能なサイズを指定します。 たとえば、次のステートメントでは、Notes という 25 文字のテキスト型フィールドを Employees テーブルに追加します。
テーブル従業員の変更列のメモテキストを追加する (25)
そのフィールドにインデックスを定義することもできます。
フィールドに対して NOT NULL を指定した場合、そのフィールドに有効なデータを指定するには新しいレコードが必要です。
-
既存のフィールドのデータ型を変更するには、ALTER COLUMN を使用します。 フィールド名、新しいデータ型、および (テキスト型とバイナリ型のフィールドの場合) 省略可能なサイズを指定します。 たとえば、次のステートメントでは、Employees テーブルの ZipCode というフィールドの (元は整数として定義されていた) データ型を 10 文字のテキスト型フィールドに変更しています。
テーブルの従業員による alter COLUMN 郵便番号 TEXT (10)
-
複数フィールド インデックスを追加するには、ADD CONSTRAINT を使用します。
-
フィールドを削除するには、DROP COLUMN を使用します。 フィールドの名前のみを指定します。
-
複数フィールド インデックスを削除するには、DROP CONSTRAINT を使用します。 予約語の CONSTRAINT に続けて、インデックス名のみを指定します。
注:
-
同時に複数のフィールドまたはインデックスを追加または削除することはできません。
-
CREATE INDEX ステートメントを使用して、単一フィールドまたは複数フィールドのインデックスをテーブルに追加することができます。また、ALTER TABLE または DROP ステートメントを使用して、ALTER TABLE や CREATE INDEX で作成されたインデックスを削除することができます。
-
NOT NULL を 1 つのフィールドまたは名前付きの CONSTRAINT 句内で使用し、CONSTRAINT という名前の 1 つのフィールドまたは複数のフィールドに適用することができます。 ただし、フィールドに NOT NULL 制限を 1 回だけ適用することができます。 この制限を複数回実行しようすると、実行時エラーになります。
-