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 のスキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

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

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

×