H2データベース-作成
CREATEは、H2データベースサーバーでテーブル、スキーマ、シーケンス、ビュー、およびユーザーを作成するために使用される汎用SQLコマンドです。
テーブルを作成する
Create Tableは、現在のデータベースにユーザー定義のテーブルを作成するために使用されるコマンドです。
構文
以下は、CreateTableコマンドの一般的な構文です。
CREATE [ CACHED | MEMORY ] [ TEMP | [ GLOBAL | LOCAL ] TEMPORARY ]
TABLE [ IF NOT EXISTS ] name
[ ( { columnDefinition | constraint } [,...] ) ]
[ ENGINE tableEngineName [ WITH tableEngineParamName [,...] ] ]
[ NOT PERSISTENT ] [ TRANSACTIONAL ]
[ AS select ]
[テーブルの作成]コマンドの一般的な構文を使用することで、キャッシュテーブル、メモリテーブル、一時テーブルなど、さまざまな種類のテーブルを作成できます。以下は、指定された構文のさまざまな句を説明するリストです。
CACHED−キャッシュされたテーブルは、通常のテーブルのデフォルトのタイプです。これは、行数がメインメモリによって制限されないことを意味します。
MEMORY−メモリテーブルは、一時テーブルのデフォルトタイプです。これは、メモリテーブルが大きくなりすぎないようにし、インデックスデータがメインメモリに保持されることを意味します。
TEMPORARY−データベースを閉じたり開いたりすると、一時テーブルが削除されます。基本的に、一時テーブルには2つのタイプがあります-
GLOBALタイプ-すべての接続からアクセスできます。
LOCALタイプ-現在の接続からアクセスできます。
一時テーブルのデフォルトのタイプはグローバルタイプです。CREATE CACHED TABLEを使用して一時テーブルを作成しない限り、一時テーブルのインデックスはメインメモリに保持されます。
ENGINE − ENGINEオプションは、カスタムテーブルの実装が使用されている場合にのみ必要です。
NOT PERSISTENT −テーブルデータ全体をメモリ内に保持するための修飾子であり、データベースを閉じるとすべての行が失われます。
TRANSACTIONAL −これはオープントランザクションをコミットするキーワードであり、このコマンドは一時テーブルのみをサポートします。
例
この例では、次の指定されたデータを使用して、tutorials_tblという名前のテーブルを作成しましょう。
シニア番号 | 列名 | データ・タイプ |
---|---|---|
1 | ID | Int |
2 | 題名 | Varchar(50) |
3 | 著者 | Varchar(20) |
4 | 提出日 | 日付 |
次のクエリを使用してテーブルを作成します tutorials_tbl 指定された列データとともに。
CREATE TABLE tutorials_tbl (
id INT NOT NULL,
title VARCHAR(50) NOT NULL,
author VARCHAR(20) NOT NULL,
submission_date DATE
);
上記のクエリは、次の出力を生成します。
(0) rows effected
スキーマの作成
Create Schemaは、特定の権限(現在登録されているユーザー)の下でユーザー依存のスキーマを作成するために使用されるコマンドです。
構文
以下は、CreateSchemaコマンドの一般的な構文です。
CREATE SCHEMA [ IF NOT EXISTS ] name [ AUTHORIZATION ownerUserName ]
上記の一般的な構文では、AUTHORIZATIONはそれぞれのユーザー名を提供するために使用されるキーワードです。このコマンドはオプションです。つまり、ユーザー名を指定しない場合は、現在のユーザーが考慮されます。コマンドを実行するユーザーには、所有者だけでなく管理者権限も必要です。
このコマンドは、この接続で開いているトランザクションをコミットします。
例
この例では、という名前のスキーマを作成しましょう test_schema SAユーザーの下で、次のコマンドを使用します。
CREATE SCHEMA test_schema AUTHORIZATION sa;
上記のコマンドは、次の出力を生成します。
(0) rows effected
シーケンスの作成
シーケンスは、idまたは任意のランダムな列値のシーケンスに従うことによって数値を生成するために使用される概念です。
構文
以下は、createsequenceコマンドの一般的な構文です。
CREATE SEQUENCE [ IF NOT EXISTS ] newSequenceName [ START WITH long ]
[ INCREMENT BY long ]
[ MINVALUE long | NOMINVALUE | NO MINVALUE ]
[ MAXVALUE long | NOMAXVALUE | NO MAXVALUE ]
[ CYCLE long | NOCYCLE | NO CYCLE ]
[ CACHE long | NOCACHE | NO CACHE ]
この一般的な構文は、シーケンスを作成するために使用されます。シーケンスのデータ型は次のとおりです。BIGINT。このシーケンスでは、トランザクションがロールバックされた場合でも、値が再利用されることはありません。
例
この例では、という名前のシーケンスを作成しましょう SEQ_ID、次のクエリを使用します。
CREATE SEQUENCE SEQ_ID;
上記のクエリは、次の出力を生成します。
(0) rows effected