SQL CHECK制約式の表現を記述する方法は?

SQLのCHECK制約は、列の値が指定した条件を満たさなければならないことを強制します。CHECK制約は、テーブルの作成時に定義することも、テーブルの変更時に追加することもできます。CHECK制約の構文は次のとおりです。

“`
ALTER TABLE table_name
ADD CONSTRAINT constraint_name CHECK (condition);
“`

ここで、table_nameは制約を追加するテーブルの名前、constraint_nameは制約の名前(省略可)、conditionは列の値の範囲を定義する論理式です。

以下に、いくつかのCHECK制約の例を示します。

1. age列の値の範囲を18歳から65歳までに制限する。

“`
ALTER TABLE employees
ADD CONSTRAINT check_age CHECK (age >= 18 AND age <= 65); “` 2. gender列の値を’M’または’F’にのみ制限する。 “` ALTER TABLE employees ADD CONSTRAINT check_gender CHECK (gender IN (‘M’, ‘F’)); “` 3. salary列の値が負数にならないように制限する。 “` ALTER TABLE employees ADD CONSTRAINT check_salary CHECK (salary >= 0);
“`

4. birth_date列の値が’1980-01-01’と’2000-12-31’の間に限定する。

“`
ALTER TABLE employees
ADD CONSTRAINT check_birth_date CHECK (birth_date >= ‘1980-01-01’ AND birth_date <= ‘2000-12-31’);
“`

CHECK制約は1つの列にのみ適用できます。複数の列に制約を追加する必要がある場合は、UNIQUE制約またはFOREIGN KEY制約を使用できます。

bannerAds