CREATE TABLE ステートメント

新しいテーブルを作成します。

注: Microsoft Access データベース エンジンでは、Microsoft Access データベース エンジン以外のデータベースで CREATE TABLE やその他の DDL ステートメントを使用することはできません。代わりに DAO の Create メソッドを使用してください。

構文

CREATE [TEMPORARY] TABLE table (field1 type [(size)] [NOT NULL] [WITH COMPRESSION | WITH COMP] [index1] [, field2type [(size)] [NOT NULL] [index2] [, ...]] [, CONSTRAINT multifieldindex [, ...]])

CREATE TABLE ステートメントでは、次の引数を使用します。

引数

説明

table

作成されるテーブルの名前です。

field1field2

新しいテーブルを作成するフィールドの名前です。1 つ以上のフィールドを作成する必要があります。

type

新しいテーブルのフィールドのデータ型。

size

文字数単位のフィールド サイズです (テキスト型とバイナリ型のフィールドのみ)。

index1index2

単一フィールド インデックスを定義する CONSTRAINT 句です。

multifieldindex

複数フィールド インデックスを定義する CONSTRAINT 句です。


解説

CREATE TABLE ステートメントを使用して、新しいテーブル、フィールド、およびフィールドの制約を定義します。フィールドに対して NOT NULL を指定した場合、そのフィールドに有効なデータを指定するには新しいレコードが必要です。

CONSTRAINT 句は、フィールドでさまざまな制限事項を確立し、主キーを使用して確立することができます。CREATE INDEX ステートメントを使用して既存のテーブルに主キーまたは追加のインデックスを作成することができます。

NOT NULL を 1 つのフィールドまたは名前付きの CONSTRAINT 句内で使用し、CONSTRAINT という名前の 1 つのフィールドまたは複数のフィールドに適用することができます。ただし、フィールドに NOT NULL 制限を 1 回だけ適用することができます。この制限を複数回実行しようすると、実行時エラーになります。

TEMPORARY テーブルが作成されると、作成されたセッション内でのみ表示されます。セッションの終了時に自動的に削除されます。一時テーブルは、複数のユーザーによってアクセスできます。

WITH COMPRESSION 属性は、CHARACTER および MEMO (TEXT とも呼ばれます) データ型およびそれらの類義語でのみ使用できます。

Unicode 文字表現形式の変更のために、WITH COMPRESSION 属性が、CHARACTER 列に追加されました。Unicode 文字では、各文字を格納するのにそれぞれ 2 バイトが必要です。これは、主に文字データを含む既存の Microsoft Access データベースを Microsoft Access の形式に変換すると、データベース ファイル サイズが約 2 倍になることを意味します。ただし、SBCS (Single-Byte Character Sets) 形式で表記されていた多くの文字セットは、Unicode 形式から 1 バイト形式に簡単に圧縮できます。この属性を使用して CHARACTER 型の列を定義すると、列への格納時のデータ圧縮と列からの取得時のデータ圧縮解除が自動的に実行されます。

MEMO 型の列を定義すると、圧縮形式でデータを格納することもできます。ただし、これには制限があります。MEMO 型の列のインスタンスが、圧縮されるときには、4096 バイト以内のみが圧縮されます。MEMO 型の列の他のすべてのインスタンスは圧縮されません。これは、特定のテーブル内の MEMO 型の列で、データの一部が圧縮され、一部のデータが圧縮されていないことを意味します。



スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×