H2-database-quick-guide
H2データベース-はじめに
H2は、オープンソースの軽量Javaデータベースです。 Javaアプリケーションに組み込むか、クライアントサーバーモードで実行できます。 主に、H2データベースはインメモリデータベースとして実行するように構成できます。これは、データがディスクに保持されないことを意味します。 組み込みデータベースのため、本番開発には使用されませんが、主に開発とテストに使用されます。
このデータベースは、埋め込みモードまたはサーバーモードで使用できます。 H2データベースの主な機能は次のとおりです-
- 非常に高速なオープンソースのJDBC API
- 組み込みモードとサーバーモードで利用可能。インメモリデータベース
- ブラウザベースのコンソールアプリケーション
- フットプリントが小さい-約1.5MBのjarファイルサイズ
H2データベースの機能
H2データベースの主な機能は次のとおりです-
- 非常に高速なデータベースエンジンです。
- H2はオープンソースであり、Javaで記述されています。
- 標準のSQLおよびJDBC APIをサポートしています。 PostgreSQL ODBCドライバーも使用できます。
- 埋め込みモードとサーバーモードがあります。
- H2は、*クラスタリング*および*マルチバージョン同時実行*をサポートしています。
- 強力なセキュリティ機能があります。
追加機能
H2データベースのいくつかの追加機能は次のとおりです-
- H2は、ディスクベースまたはメモリ内のデータベースとテーブル、読み取り専用データベースのサポート、一時テーブルです。
- H2は、トランザクションサポート(コミット読み取り)、2フェーズコミット複数接続、テーブルレベルロックを提供します。
- H2はコストベースのオプティマイザーであり、複雑なクエリにゼロ管理の遺伝的アルゴリズムを使用しています。
- H2には、スクロールおよび更新可能な結果セットのサポート、大規模な結果セット、外部結果の並べ替えが含まれ、関数は結果セットを返すことができます。
- H2は、暗号化データベース(AES)、SHA-256パスワード暗号化、暗号化機能、およびSSLをサポートしています。
H2データベースのコンポーネント
H2データベースを使用するには、次のコンポーネントが必要です-
- Webブラウザー
- H2コンソールサーバー
これはクライアント/サーバーアプリケーションであるため、実行するにはサーバーとクライアント(ブラウザー)の両方が必要です。
H2データベース-インストール
H2はJavaで書かれたデータベースです。 JDBCを使用して、このデータベースをアプリケーションに簡単に埋め込むことができます。 これは、多くの異なるプラットフォームまたはJava Runtime Environmentの任意のバージョンで実行できます。 ただし、データベースをインストールする前に、システムにJavaがインストールされている必要があります。
Javaインストールの検証
JDKがシステムにインストールされている場合は、次のコマンドを試してJavaバージョンを確認してください。
JDkがシステムに正常にインストールされると、次の出力が得られます。
システムにJDKがインストールされていない場合は、次のリンクにアクセスしてリンクします:/java/java_environment_setup [Install JDK]。
H2データベースのインストール
このデータベースはさまざまなプラットフォームで実行できます。 この章では、WindowsでのH2データベースのインストールについて学習します。
以下は、WindowsオペレーティングシステムにH2データベースをインストールする手順です。
手順1:H2セットアップファイルをダウンロードする
所定のリンクから最新バージョンのhttps://www.h2database.com/html/downloadl[H2 Database]をダウンロードします。 このリンクでは、2つのタイプのH2データベースの最新バージョンを入手できます。 1つはWindowsインストーラータイプ(.exeファイル)で、もう1つは他のオペレーティングシステム用のプラットフォームに依存しないzipファイルです。
ステップ2:H2データベースをインストールする
exeファイルをダウンロードした後、Windowsサポート可能なH2データベースをダウンロードするには、Windowsインストーラーをクリックします。 この場合、バージョン1.4.192のH2データベースを使用しています。.
ダウンロード後、H2 Windowsインストーラーファイル(つまり、 h2-setup-yyyy-mm-dd.exe)をダウンロードディレクトリに保存します。 H2データベースのインストールプロセスを開始するには、インストーラーファイルをダブルクリックします。
次の画面は、インストールプロセスの最初のステップです。 次のスクリーンショットに示すように、H2データベースサーバーをインストールするパスを指定します。
上記のスクリーンショットに見られるように、デフォルトでは C:\ ProgramFiles(x86)\ H2 を宛先フォルダーとして使用します。 [次へ]をクリックして、次の手順に進みます。 次の画面が表示されます。
上記のスクリーンショットで、[インストール]ボタンをクリックしてインストールプロセスを開始します。 インストール後、次のスクリーンショットを取得します。
[完了]をクリックして、インストールプロセスを完了します。
手順3:H2データベースのインストールを確認する
インストール後、システムでのデータベースのインストールを確認しましょう。 Windowsをクリックし、「H2コンソール」と入力して、「H2コンソール」アイコンをクリックします。 URL http://localhost:8082 に接続します。 接続時に、H2データベースは次のスクリーンショットに示すようにデータベース登録を要求します。
上記のダイアログボックスに、保存された設定、設定名、ドライバークラス、JDBC URL、ユーザー名、パスワードなどのすべての詳細を入力します。 JDBC URLで、データベースの場所とデータベース名を指定します。 ユーザー名とパスワードは、データベースのユーザー名とパスワードのフィールドです。 接続をクリックします。
次のスクリーンショットに示すように、データベースのようこそページがポップアップします。
H2データベース-選択
選択コマンドは、1つまたは複数のテーブルからレコードデータをフェッチするために使用されます。 選択クエリを設計する場合、 result sets という結果テーブルの形式でデータを返します。
構文
SELECTステートメントの基本的な構文は次のとおりです-
利用可能なすべてのフィールドを取得するには、次の構文を使用します。
例
次のレコードを持つCUSTOMERテーブルを考慮してください-
指定されたデータとともに顧客テーブルを取得するには、次のクエリを実行します。
次のコマンドは例で、CUSTOMERテーブルで利用可能な顧客のID、名前、および給与フィールドを取得します。
上記のコマンドは、次の結果を生成します。
次のクエリを使用して、CUSTOMERSテーブルのすべてのフィールドを取得します。
上記のクエリは、次の結果を生成します-
H2データベース-挿入
SQL INSERTステートメントは、データベースのテーブルに新しいデータ行を追加するために使用されます。
構文
INSERT INTOステートメントの基本的な構文は次のとおりです。
このINSERTステートメントを使用して、新しいレコードまたは新しい行をテーブルに挿入できます。 DIRECT句を使用する場合、結果は中間ステップなしでターゲット表に直接影響します。 ただし、テーブルのすべての列に値を追加するときは、値の順序がテーブルの列と同じ順序であることを確認してください。
例
例を挙げて、Customerテーブルに次の特定のレコードを挿入してみましょう。
ID | Name | Age | Address | Salary |
---|---|---|---|---|
1 | Ramesh | 32 | Ahmedabad | 2000 |
2 | Khilan | 25 | Delhi | 1500 |
3 | Kaushik | 23 | Kota | 2000 |
4 | Chaitail | 25 | Mumbai | 6500 |
5 | Hardik | 27 | Bhopal | 8500 |
6 | Komal | 22 | MP | 4500 |
7 | Muffy | 24 | Indore | 10000 |
次のコマンドを実行することにより、指定されたすべてのレコードを顧客テーブルに取得できます。
H2データベース-更新
UPDATEクエリは、テーブル内の既存のレコードを更新または変更するために使用されます。 UPDATEクエリでWHERE句を使用して、選択した行を更新できます。更新しないと、すべての行が影響を受けます。
構文
以下は、UPDATEクエリの基本的な構文です。
このUPDATE構文では、ANDまたはOR句を使用して複数の条件を組み合わせることができます。
例
次のレコードを持つCUSTOMERテーブルを検討してください。
指定されたデータとともに顧客テーブルを取得する場合は、次のクエリを実行します。
次のコマンドは、IDが6の顧客のADDRESSを更新する例です-
これで、CUSTOMERSテーブルには次のレコードが含まれます。 次のクエリを実行して、顧客テーブルのレコードを確認できます。
上記のクエリは次の結果を生成します。
CUSTOMERSテーブルのすべてのADDRESSおよびSALARY列の値を変更するには、WHERE句を使用する必要はありません。 UPDATEクエリは次のようになります-
これで、CUSTOMERSテーブルには次のレコードが含まれます。 次のクエリを実行して、顧客テーブルのレコードを確認できます。
上記のクエリは、次の結果を生成します-
H2データベース-削除
SQL DELETEクエリは、テーブルから既存のレコードを削除するために使用されます。 WHERE句をDELETEクエリとともに使用して、選択したレコードを削除できます。そうしないと、すべてのレコードが削除されます。
構文
以下は、deleteコマンドの一般的なクエリ構文です。
上記の構文は、テーブルから行を削除します。 TOPまたはLIMITが指定されている場合、最大で指定された行数が削除されます(nullまたはゼロより小さい場合は制限なし)。
例
次のレコードを持つCUSTOMERテーブルを検討してください。
次のコマンドは、IDが6である顧客の詳細を削除します。
上記のコマンドの実行後、次のコマンドを実行してCustomerテーブルを確認します。
上記のコマンドは、次の出力を生成します-
CUSTOMERSテーブルからすべてのレコードを削除する場合、WHERE句は使用しません。 DELETEクエリは次のようになります。
上記のコマンドを実行した後、Customerテーブルで利用可能なレコードはありません。
H2データベース-バックアップ
BACKUPは、データベースのバックアップを別の.zipファイルに取り込むために使用されるコマンドです。 オブジェクトはロックされず、バックアップを取るときにトランザクションログもコピーされます。 このコマンドを実行するには管理者権限が必要です。
構文
以下は、Backupコマンドの一般的な構文です。
例
この例では、現在のデータベースのバックアップを backup.zip ファイルに保存します。 同じために次のコマンドを使用します。
上記のコマンドを実行すると、ローカルファイルシステムにbackup.zipファイルが取得されます。
H2データベース-呼び出し
CALLは、H2データベースサーバーに属するSQLコマンドです。 このコマンドは、単純な式を計算するために使用されます。 指定された式の結果を単一の列フィールドに返します。 結果の配列を返す場合、配列内の各要素は列の値として表示されます。
構文
CALLコマンドの一般的な構文は次のとおりです。
この構文では算術式を使用できます。
例
例を挙げて、callコマンドを使用して算術式(15* 25)を実行します。
上記のコマンドは、次の出力を生成します。
375 |
---|
375 |
H2データベース-説明
EXPLAINコマンドは、ステートメントの実行プランを表示します。 EXPLAIN ANALYZEコマンドを使用してステートメントを実行すると、クエリプランには各テーブルの実際の行スキャンカウントが含まれます。
構文
EXPLAINコマンドの一般的な構文は次のとおりです。
この構文とともに、select、insert、delete、およびmergeを使用できます。
例
この例では、ID 1の顧客のクエリプランの詳細について説明します。
上記のコマンドは、次の出力を生成します-
H2データベース-マージ
MERGEコマンドを使用して、既存の行を更新し、新しい行をテーブルに挿入します。 主キー列は、このコマンドの使用中に重要な役割を果たします。行を見つけるために使用されます。
構文
以下は、MERGEコマンドの一般的な構文です。
上記の構文では、KEY句を使用して主キー列名を指定します。 VALUES句とともに、プリミティブ値を使用して挿入したり、selectコマンドを使用してこのテーブルに別のテーブル値を取得して保存したりできます。
例
この例では、Customersテーブルに新しいレコードを追加してみましょう。 以下は、表の新しいレコードの詳細です。
Column Name | Value |
---|---|
ID | 8 |
NAME | Lokesh |
AGE | 32 |
ADDRESS | Hyderabad |
SALARY | 2500 |
次のクエリを使用して、指定されたレコードをH2データベースクエリに挿入します。
上記のクエリは、次の出力を生成します。
次のクエリを実行して、Customerテーブルのレコードを確認しましょう。
上記のクエリは、次の出力を生成します。
ID | Name | Age | Address | Salary |
---|---|---|---|---|
1 | Ramesh | 32 | Ahmedabad | 2000 |
2 | Khilan | 25 | Delhi | 1500 |
3 | Kaushik | 23 | Kota | 2000 |
4 | Chaitali | 25 | Mumbai | 6500 |
5 | Hardik | 27 | Bhopal | 8500 |
6 | Komal | 22 | MP | 4500 |
7 | Muffy | 24 | Indore | 10000 |
8 | Lokesh | 32 | Hyderabad | 2500 |
ここで、 Merge コマンドを使用してレコードを更新してみましょう。 以下は、更新されるレコードの詳細です。
Column Name | Value |
---|---|
ID | 8 |
NAME | Loki |
AGE | 32 |
ADDRESS | Hyderabad |
SALARY | 3000 |
次のクエリを使用して、指定されたレコードをH2データベースクエリに挿入します。
上記のクエリは、次の出力を生成します。
次のクエリを実行して、Customerテーブルのレコードを確認しましょう。
上記のクエリは、次の出力を生成します-
ID | Name | Age | Address | Salary |
---|---|---|---|---|
1 | Ramesh | 32 | Ahmedabad | 2000 |
2 | Khilan | 25 | Delhi | 1500 |
3 | Kaushik | 23 | Kota | 2000 |
4 | Chaitali | 25 | Mumbai | 6500 |
5 | Hardik | 27 | Bhopal | 8500 |
6 | Komal | 22 | MP | 4500 |
7 | Muffy | 24 | Indore | 10000 |
8 | Loki | 32 | Hyderabad | 3000 |
H2データベース-表示
SHOWは、テーブルのスキーマ、テーブル、または列のリストを表示するために使用されるコマンドです。
構文
SHOWコマンドの一般的な構文は次のとおりです。
例
次のコマンドを使用して、現在のデータベース内のテーブルのリストを取得できます。
上記のコマンドは、次の出力を生成します。
TABLE_NAME | TABLE_SCHEMA |
---|---|
CUSTOMER | PUBLIC |
EMP | PUBLIC |
H2データベース-作成
CREATEは、H2データベースサーバーでテーブル、スキーマ、シーケンス、ビュー、およびユーザーを作成するために使用される汎用SQLコマンドです。
テーブルを作成
Create Tableは、現在のデータベースにユーザー定義のテーブルを作成するために使用されるコマンドです。
構文
以下は、テーブル作成コマンドの一般的な構文です。
Create Tableコマンドの汎用構文を使用することにより、キャッシュテーブル、メモリテーブル、一時テーブルなど、さまざまなタイプのテーブルを作成できます。 以下は、指定された構文のさまざまな句を説明するリストです。
- CACHED -キャッシュテーブルは、通常のテーブルのデフォルトタイプです。 これは、行の数がメインメモリによって制限されないことを意味します。
- MEMORY -メモリテーブルは、一時テーブルのデフォルトタイプです。 これは、メモリテーブルが大きくなりすぎず、インデックスデータがメインメモリに保持されることを意味します。
- TEMPORARY -データベースを閉じたり開いたりするときに一時テーブルが削除されます。 基本的に、一時テーブルは2種類あります-
- GLOBALタイプ-すべての接続でアクセス可能。
- LOCALタイプ-現在の接続からアクセス可能。 +一時テーブルのデフォルトタイプはグローバルタイプです。 一時テーブルのインデックスは、CREATE CACHED TABLEを使用して一時テーブルが作成されない限り、メインメモリに保持されます。
- ENGINE -ENGINEオプションは、カスタムテーブル実装が使用される場合にのみ必要です。
- NOT PERSISTENT -完全なテーブルデータをメモリ内に保持する修飾子であり、データベースを閉じるとすべての行が失われます。
- TRANSACTIONAL -オープントランザクションをコミットするキーワードであり、このコマンドは一時テーブルのみをサポートします。
例
この例では、次のデータを使用して、tutorials_tblという名前のテーブルを作成します。
Sr.No | Column Name | Data Type |
---|---|---|
1 | ID | Int |
2 | Title | Varchar(50) |
3 | Author | Varchar(20) |
4 | Submission_date | Date |
次のクエリは、指定された列データとともにテーブル tutorials_tbl を作成するために使用されます。
上記のクエリは、次の出力を生成します。
スキーマを作成
スキーマの作成は、特定の承認(現在登録されているユーザー)の下でユーザー依存のスキーマを作成するために使用されるコマンドです。
構文
以下は、スキーマの作成コマンドの一般的な構文です。
上記の一般的な構文では、AUTHORIZATIONはそれぞれのユーザー名を提供するために使用されるキーワードです。 このコマンドはオプションです。ユーザー名を指定しない場合、現在のユーザーが考慮されます。 コマンドを実行するユーザーには、管理者権限と所有者が必要です。
このコマンドは、この接続で開いているトランザクションをコミットします。
例
この例では、次のコマンドを使用して、SAユーザーの下に test_schema という名前のスキーマを作成します。
上記のコマンドは、次の出力を生成します。
シーケンスを作成
シーケンスは、idまたは任意のランダムな列値のシーケンスに従うことにより数値を生成するために使用される概念です。
構文
以下に、シーケンス作成コマンドの一般的な構文を示します。
この汎用構文は、シーケンスを作成するために使用されます。 シーケンスのデータ型は BIGINT です。 このシーケンスでは、トランザクションがロールバックされた場合でも、値が再利用されることはありません。
例
この例では、次のクエリを使用して、 SEQ_ID という名前のシーケンスを作成します。
上記のクエリは、次の出力を生成します。
H2データベース-変更
ALTERは、 alter コマンドに異なる句を追加することにより、テーブル構造を変更するために使用されるコマンドです。 シナリオに基づいて、alterコマンドにそれぞれの句を追加する必要があります。 この章では、alterコマンドのさまざまなシナリオについて説明します。
変更テーブルの追加
Alter Table Addは、それぞれのデータ型とともに新しい列をテーブルに追加するために使用されるコマンドです。 このコマンドは、この接続でトランザクションをコミットします。
構文
Alter Table Addコマンドの一般的な構文は次のとおりです。
例
この例では、新しい列 start_date をテーブル tutorials_tbl に追加します。 start_dateのデータ型は日付です。 以下は、新しい列を追加するクエリです。
上記のクエリは、次の出力を生成します。
テーブルの変更制約の追加
テーブル追加制約の変更は、主キー、外部キー、非ヌルなどのさまざまな制約をテーブルに追加するために使用されるコマンドです。
必要なインデックスは、まだ存在しない場合は自動的に作成されます。 一意制約のチェックを無効にすることはできません。 このコマンドは、この接続で開いているトランザクションをコミットします。
構文
Alter table add constraintコマンドの一般的な構文は次のとおりです。
例
この例では、次のクエリを使用して、テーブル tutorials_tbl の列IDに主キー制約*(tutorials_tbl_pk)*を追加します。
上記のクエリは、次の出力を生成します。
テーブル名の変更制約の変更
このコマンドは、特定の関係テーブルの制約名を変更するために使用されます。 このコマンドは、この接続で開いているトランザクションをコミットします。
構文
以下は、テーブル変更制約の変更コマンドの一般的な構文です。
この構文を使用している間、古い制約名がそれぞれの列に存在することを確認してください。
例
この例では、テーブル tutorials_tbl の主キー制約名を tutorials_tbl_pk から tutorials_tbl_pk_constraint に変更します。 以下はそのためのクエリです。
上記のクエリは、次の出力を生成します。
表の変更列の変更
このコマンドは、特定のテーブルの列の構造とプロパティを変更するために使用されます。 プロパティの変更とは、列のデータ型の変更、列の名前の変更、ID値の変更、または選択性の変更を意味します。
構文
以下は、Alter Table Alter Columnコマンドの一般的な構文です。
上記の構文では-
- RESTART -コマンドは自動インクリメント列の次の値を変更します。
- SELECTIVITY -コマンドは列の選択度(1〜100)を設定します。 選択性の値に基づいて、列の値を画像化できます。
- SET DEFAULT -列のデフォルト値を変更します。
- SET NULL -NULLを許可するように列を設定します。
- SET NOT NULL -NOT NULLを許可するように列を設定します。
例
この例では、次のクエリを使用して、テーブルの列の名前を tutorials_tbl から Title から Tutorial_Title に変更します。
上記のクエリは、次の出力を生成します。
同様に、ALTERコマンドを使用してさまざまなシナリオを実行できます。
H2データベース-ドロップ
DROPは、一般的なSQL文法から取られたコマンドです。 このコマンドは、データベースコンポーネントとその構造をメモリから削除するために使用されます。 この章で説明するDropコマンドにはさまざまなシナリオがあります。
ドロップテーブル
ドロップテーブルは、それぞれのテーブルとその構造を削除するコマンドです。
構文
Drop Tableコマンドの一般的な構文は次のとおりです。
RESTRICTを使用しており、依存ビューを持つテーブルが存在する場合、コマンドは失敗します。 CASCADEキーワードを使用している場合、すべての依存ビューは削除されます。
例
この例では、次のクエリを使用してtestという名前のテーブルを削除します。
上記のクエリは、次の出力を生成します。
スキーマの削除
スキーマの削除は、データベースサーバーからそれぞれのスキーマを削除するコマンドです。 現在のスキーマでは機能しません。
構文
例
この例では、次のクエリを使用して test_schema という名前のスキーマを削除します。
上記のクエリは、次の出力を生成します。
ドロップシーケンス
ドロップシーケンスは、テーブル構造からシーケンスをドロップするために使用されるコマンドです。
構文
以下はDrop Sequenceコマンドの一般的な構文です。
このコマンドは、この接続で開いているトランザクションをコミットします。
例
この例では、 sequence_id という名前のシーケンスを削除します。 以下はコマンドです。
上記のコマンドは、次の出力を生成します。
ドロップビュー
ドロップビューは、既存のビューをドロップするために使用されるコマンドです。 CASCADE句を使用すると、すべての従属ビューも削除されます。
構文
Drop Viewコマンドの一般的な構文は次のとおりです。
例
この例では、次のクエリを使用して sample_view という名前のビューを削除します。
上記のクエリは、次の出力を生成します。
H2データベース-切り捨て
TRUNCATEは、テーブルからデータを削除するために使用されるコマンドです。 WHERE句のないDELETE FROMとは異なり、このコマンドはロールバックできません。 このコマンドは、この接続で開いているトランザクションをコミットします。
構文
以下は、truncateコマンドの一般的な構文です。
例
この例では、次のクエリを使用して test という名前のテーブルを切り捨てます。
上記のクエリは、次の出力を生成します。
H2データベース-コミット
COMMITは、トランザクションをコミットするために使用されるSQL文法のコマンドです。 特定のトランザクションをコミットすることも、現在実行されているトランザクションをコミットすることもできます。
構文
COMMITコマンドには2つの異なる構文があります。
以下は、現在のトランザクションをコミットするcommitコマンドの一般的な構文です。
次に、特定のトランザクションをコミットするcommitコマンドの一般的な構文を示します。
例1
この例では、次のコマンドを使用して現在のトランザクションをコミットします。
上記のコマンドは、次の出力を生成します。
例2
この例では、次のコマンドを使用して tx_test という名前のトランザクションをコミットします。
上記のコマンドは、次の出力を生成します。
H2データベース-付与
Grantは、テーブル、ユーザー、またはロールに権限を付与するために使用されるSQL文法からのコマンドです。 このコマンドを実行するには管理者権限が必要です。 このコマンドは、この接続で開いているトランザクションをコミットします。
この章では、Grantコマンドのさまざまなシナリオについて説明します。
付与権
権限の付与は、テーブル、ユーザー、またはロールに管理者権限を付与するコマンドです。
構文
Grantコマンドの一般的な構文は次のとおりです。
例
この例では、次のコマンドを使用して、テストテーブルを読み取り専用として許可します。
上記のコマンドは、次の出力を生成します。
スキーマの変更を許可
スキーマの変更の許可は、各ユーザーにスキーマの変更権限を付与するコマンドです。
構文
以下は、Grant Alter Schemaコマンドの一般的な構文です。
例
この例では、スキーマの変更権限を test_user という名前のユーザーに付与します。 test_userが存在することを確認してください。 以下は、変更特権を付与するクエリです。
上記のクエリは、次の出力を生成します。
H2データベース-セーブポイント
SAVEPOINTは、トランザクションを一時的に保存するために使用されるコマンドです。 必要に応じてトランザクションをそれぞれのセーブポイントにロールバックすると役立つため、トランザクションでセーブポイントを維持することをお勧めします。
構文
Savepointコマンドの一般的な構文は次のとおりです。
例
この例では、次のコマンドを使用してHalf_Doneという名前のセーブポイントを作成します。
上記のコマンドは、次の出力を生成します。
H2データベース-ロールバック
ROLLBACKは、トランザクションをセーブポイントまたは前のトランザクションにロールバックするために使用されるSQL文法からのコマンドです。 このコマンドを使用すると、特定のセーブポイントにロールバックするか、以前に実行したトランザクションにロールバックできます。
構文
ROLLABCKコマンドには2つの異なる構文があります。
以下は、rollbackコマンドの一般的な構文です。
以下は、特定のトランザクションに対するRollbackコマンドの一般的な構文です。
例1
この例では、次のコマンドを使用して、現在のトランザクションを sp1_test という名前のセーブポイントにロールバックします。
上記のコマンドは、次の出力を生成します。
例2
次の例では、指定のコマンドを使用して tx_test という名前の完全なトランザクションをロールバックします。
上記のコマンドは、次の出力を生成します。
H2データベース-JDBC接続
H2はJAVAデータベースです。 JDBCを使用して、このデータベースと対話できます。 この章では、H2データベースでJDBC接続を作成し、H2データベースでCRUD操作を作成する方法について説明します。
一般に、JDBC接続を作成するには5つの手順があります。
- ステップ1 *-JDBCデータベースドライバーの登録。
- ステップ2 *-接続を開きます。
- ステップ3 *-ステートメントの作成。
- ステップ4 *-ステートメントを実行し、結果セットを受け取ります。
- ステップ5 *-接続を閉じます。
完全なプログラムを作成する前に、* h2-1.4.192.jarファイル*をCLASSPATHに追加する必要があります。 この jar は、フォルダー C:\ Program Files(x86)\ H2 \ bin から取得できます。
テーブルを作成
この例では、テーブルを作成するためのプログラムを作成します。 次のフィールドを持つ Registration という名前のテーブルを考えてください。
S.No | Column Name | Data Type | NOT NULL | Primary Key |
---|---|---|---|---|
1 | ID | Number | Yes | Yes |
2 | First | Varchar(255) | No | No |
3 | Last | Varchar(255) | No | No |
4 | Age | Number | No | No |
以下は、 H2jdbcCreateDemo という名前のプログラム例です。
上記のプログラムをH2jdbcCreateDemo.javaに保存します。 コマンドプロンプトで次のコマンドを実行して、上記のプログラムをコンパイルして実行します。
上記のコマンドは、次の出力を生成します。
この実行後、H2 SQLインターフェイスを使用して作成されたテーブルを確認できます。
レコードを挿入
この例では、レコードを挿入するためのプログラムを作成します。 テーブルRegistrationに次のレコードを挿入しましょう。
ID | First | Last | Age |
---|---|---|---|
100 | Zara | Ali | 18 |
101 | Mahnaz | Fatma | 25 |
102 | Zaid | Khan | 30 |
103 | Sumit | Mital | 28 |
以下は、 H2jdbcInsertDemo という名前のプログラム例です。
上記のプログラムをH2jdbcInsertDemo.javaに保存します。 コマンドプロンプトで次のコマンドを実行して、上記のプログラムをコンパイルして実行します。
上記のコマンドは、次の出力を生成します。
レコードを読む
この例では、レコードを読み取るためのプログラムを作成します。 テーブル Registration からすべてのレコードを読み取ってみましょう。
以下は、 H2jdbcRecordDemo という名前のプログラム例です。
上記のプログラムをH2jdbcReadDemo.javaに保存します。 コマンドプロンプトで次のコマンドを実行して、上記のプログラムをコンパイルして実行します。
上記のコマンドは、次の出力を生成します。
レコードを更新する
この例では、レコードを更新するプログラムを作成します。 テーブル Registration からすべてのレコードを読み取ってみましょう。
以下は、 H2jdbcUpdateDemo という名前のプログラム例です。
上記のプログラムをH2jdbcUpdateDemo.javaに保存します。 コマンドプロンプトで次のコマンドを実行して、上記のプログラムをコンパイルして実行します。
上記のコマンドは、次の出力を生成します。
レコードを削除する
この例では、レコードを削除するプログラムを作成します。 テーブル Registration からすべてのレコードを読み取ってみましょう。
以下は、 H2jdbcDeleteDemo という名前のプログラム例です。
上記のプログラムをH2jdbcDeleteDemo.javaに保存します。 コマンドプロンプトで次のコマンドを実行して、上記のプログラムをコンパイルして実行します。
上記のコマンドは、次の出力を生成します。