View a markdown version of this page

CREATE TABLE - Amazon Aurora DSQL

CREATE TABLE

CREATE TABLE は、新しいテーブルを定義します。

CREATE TABLE [ IF NOT EXISTS ] table_name ( [ { column_name data_type [ STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN | DEFAULT } ] [ column_constraint [ ... ] ] | table_constraint | LIKE source_table [ like_option ... ] } [, ... ] ] ) where column_constraint is: [ CONSTRAINT constraint_name ] { NOT NULL | NULL | CHECK ( expression )| DEFAULT default_expr | GENERATED ALWAYS AS ( generation_expr ) STORED | GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY ( sequence_options ) | UNIQUE [ NULLS [ NOT ] DISTINCT ] index_parameters | PRIMARY KEY index_parameters | and table_constraint is: [ CONSTRAINT constraint_name ] { CHECK ( expression ) | UNIQUE [ NULLS [ NOT ] DISTINCT ] ( column_name [, ... ] ) index_parameters | PRIMARY KEY ( column_name [, ... ] ) index_parameters | and like_option is: { INCLUDING | EXCLUDING } { COMMENTS | CONSTRAINTS | DEFAULTS | GENERATED | IDENTITY | INDEXES | STATISTICS | ALL } index_parameters in UNIQUE, and PRIMARY KEY constraints are: [ INCLUDE ( column_name [, ... ] ) ]

アイデンティティ列

注記

ID 列を使用する場合は、キャッシュ値を慎重に検討する必要があります。詳細については、「CREATE SEQUENCE」ページの重要なコールアウトを参照してください。

ワークロードパターンに基づいて ID 列を使用する最適な方法のガイダンスについては、「シーケンスと ID 列の使用」を参照してください。

GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY ( sequence_options ) 句は、列を ID 列として作成します。暗黙的なシーケンスがアタッチされ、新しく挿入された行の列には、割り当てられたシーケンスの値が自動的に設定されます。このような列は暗黙的に NOT NULL です。

ALWAYS 句と BY DEFAULT 句は、INSERT コマンドと UPDATE コマンドでユーザーが明示的に指定した値がどのように処理されるかを決定します。

INSERT コマンドで ALWAYS を選択した場合、ユーザー指定の値は、INSERT ステートメントで OVERRIDING SYSTEM VALUE が指定されている場合にのみ受け入れられます。BY DEFAULT が選択されている場合、ユーザー指定の値が優先されます。

UPDATE コマンドで ALWAYS を選択した場合、列を DEFAULT 以外の値に更新することは拒否されます。BY DEFAULT を選択した場合、列は通常どおり更新できます。(UPDATE コマンドには OVERRIDING 句はありません)。

sequence_options 句を使用して、シーケンスのパラメータを上書きできます。使用可能なオプションには、CREATE SEQUENCE に表示されているオプションに加えて、SEQUENCE NAME name が含まれます。SEQUENCE NAME がない場合、システムはシーケンスに未使用の名前を選択します。

ストレージモード

オプションの STORAGE 句は、列のストレージモードを設定します。これらのオプションを使用して、JSON などの可変長データ型の圧縮動作を制御します。

Amazon Aurora DSQL は、特定のサイズを超えると、一部のデータ型を圧縮します。この動作を無効にするには、PLAIN または EXTERNAL オプションを使用します。

PLAIN

Aurora DSQL は、データを圧縮せずにインラインで保存します。これは、integer などの固定長データ型の唯一のオプションです。このオプションを使用して、一部の可変長タイプの圧縮を無効にできます。

MAIN | EXTENDED | DEFAULT

MAINEXTENDED は、基になるデータ型が圧縮をサポートしている場合に、列の圧縮をオプションで許可します。DEFAULT は、列のデータ型のストレージモードをデフォルトモードに設定します。

EXTERNAL

Aurora DSQL は現在 TOAST テーブルをサポートしていません。ただし、EXTERNAL を指定すると、圧縮をサポートするデータ型の圧縮が無効になります。