ホームページ >バックエンド開発 >PHPチュートリアル >SQL CHECK 制約に関する関連知識

SQL CHECK 制約に関する関連知識

jacklove
jackloveオリジナル
2018-05-08 10:57:021878ブラウズ

SQL CHECK Constraints は PHP にとって非常に重要です。この記事ではそれに関連する知識について説明します。

CHECK 制約は、列内の値の範囲を制限するために使用されます。

単一の列に CHECK 制約を定義すると、その列には特定の値のみが許可されます。

テーブルに CHECK 制約を定義すると、この制約は特定の列の値を制限します。

CREATE TABLE の SQL CHECK 制約

次の SQL は、「persons」テーブルの作成時に「Id_P」列の CHECK 制約を作成します。 CHECK 制約では、「Id_P」列には 0 より大きい整数のみを含める必要があると規定されています。

私のSQL:

CREATE TABLE persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255), CHECK (Id_P>0))

SQL Server / Oracle / MS Access:

CREATE TABLE persons
(
Id_P int NOT NULL CHECK (Id_P>0),
LastName varchar(255) NOT NULL,
FirstName varchar( 255),
Address varchar(255),
City varchar(255)
)

CHECK 制約に名前を付け、複数の列に CHECK 制約を定義する必要がある場合は、次の SQL 構文を使用してください:

MySQL / SQLサーバー / Oracle / MS Access:

CREATE TABLE persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255), CONSTRAINT chk_person CHECK (Id_P>0 AND City='Sandnes'))

ALTER TABLE の SQL CHECK 制約

テーブルが既に存在する場合に「Id_P」列の CHECK 制約を作成する場合は、次の SQL を使用します。

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE personsADD CHECK (Id_P>0)


CHECK 制約に名前を付け、複数の列に CHECK 制約を定義する必要がある場合は、次の SQL 構文を使用してください:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE personsADD CONSTRAINT chk_person CHECK (Id_P>0 AND City='Sandnes')


CHECK 制約を取り消す

CHECK 制約を取り消すには、次の SQL を使用してください:

SQL Server / Oracle / MS Access:

ALTER TABLE personsDROP CONSTRAINT chk_person


この記事では、CHECK 制約の関連操作について説明します。その他の学習資料については、php 中国語 Web サイトを参照してください。

関連推奨事項:

SQL UNIQUE 制約に関する関連知識

SQL NOT NULL 制約に関する関連知識

SQL CREATE TABLE ステートメントの使用方法

以上がSQL CHECK 制約に関する関連知識の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。