H2データベース-変更

ALTERは、さまざまな句をに追加してテーブル構造を変更するために使用されるコマンドです。 alterコマンド。シナリオに基づいて、alterコマンドにそれぞれの句を追加する必要があります。この章では、alterコマンドのさまざまなシナリオについて説明します。

テーブルの変更追加

Alter Table Addは、それぞれのデータ型とともに新しい列をテーブルに追加するために使用されるコマンドです。このコマンドは、この接続でトランザクションをコミットします。

構文

以下は、Alter TableAddコマンドの一般的な構文です。

ALTER TABLE [ IF EXISTS ] tableName ADD [ COLUMN ] 
{ [ IF NOT EXISTS ] columnDefinition [ { BEFORE | AFTER } columnName ] 
   | ( { columnDefinition } [,...] ) }

この例では、新しい列を追加します start_date テーブルに tutorials_tbl。start_dateのデータ型はDateです。以下は、新しい列を追加するためのクエリです。

ALTER TABLE tutorials_tbl ADD start_date DATE;

上記のクエリは、次の出力を生成します。

(6) rows effected

テーブルの変更制約の追加

表の追加制約の変更は、主キー、外部キー、null以外などのさまざまな制約をテーブルに追加するために使用されるコマンドです。

必要なインデックスがまだ存在しない場合は、自動的に作成されます。一意の制約のチェックを無効にすることはできません。このコマンドは、この接続で開いているトランザクションをコミットします。

構文

以下は、Alter table addconstraintコマンドの一般的な構文です。

ALTER TABLE [ IF EXISTS ] tableName ADD constraint [ CHECK | NOCHECK ]

この例では、主キー制約を追加しましょう (tutorials_tbl_pk) テーブルの列IDに tutorials_tbl、次のクエリを使用します。

ALTER TABLE tutorials_tbl ADD CONSTRAINT tutorials_tbl_pk PRIMARYKEY(id);

上記のクエリは、次の出力を生成します。

(6) row (s) effected

テーブル名変更制約の変更

このコマンドは、特定のリレーションテーブルの制約名の名前を変更するために使用されます。このコマンドは、この接続で開いているトランザクションをコミットします。

構文

以下は、Alter Table RenameConstraintコマンドの一般的な構文です。

ALTER TABLE [ IF EXISTS ] tableName RENAME oldConstraintName TO newConstraintName

この構文を使用するときは、古い制約名がそれぞれの列に存在する必要があることを確認してください。

この例では、テーブルの主キー制約名を変更します tutorials_tbl から tutorials_tbl_pktutorials_tbl_pk_constraint。以下はそのためのクエリです。

ALTER TABLE tutorials_tbl RENAME CONSTRAINT 
tutorials_tbl_pk TO tutorials_tbl_pk_constraint;

上記のクエリは、次の出力を生成します。

(1) row (s) effected

表の変更列の変更

このコマンドは、特定のテーブルの列の構造とプロパティを変更するために使用されます。プロパティの変更とは、列のデータ型の変更、列の名前の変更、ID値の変更、または選択性の変更を意味します。

構文

以下は、Alter Table AlterColumnコマンドの一般的な構文です。

ALTER TABLE [ IF EXISTS ] tableName ALTER COLUMN columnName 
{ { dataType [ DEFAULT expression ] [ [ NOT ] NULL ] [ AUTO_INCREMENT | IDENTITY ] } 
| { RENAME TO name } 
| { RESTART WITH long } 
| { SELECTIVITY int } 
| { SET DEFAULT expression } 
| { SET NULL } 
| { SET NOT NULL } }

上記の構文では-

  • RESTART −コマンドは、自動インクリメント列の次の値を変更します。

  • SELECTIVITY−コマンドは、列の選択性(1〜100)を設定します。選択性の値に基づいて、列の値をイメージできます。

  • SET DEFAULT −列のデフォルト値を変更します。

  • SET NULL −NULLを許可するように列を設定します。

  • SET NOT NULL − NOTNULLを許可するように列を設定します。

この例では、テーブルの列の名前を変更します tutorials_tbl から TitleTutorial_Title 次のクエリを使用します。

ALTER TABLE tutorials_tbl ALTER COLUMN title RENAME TO tutorial_title;

上記のクエリは、次の出力を生成します。

(0) row(s) effected

同様の方法で、ALTERコマンドを使用してさまざまなシナリオを実行できます。