SQLチュートリアル

SQL HOME SQLイントロ SQL構文 SQL Select SQL Select Distinct SQL Where SQL And、Or、Not SQLの順序 SQL Insert Into SQLNull値 SQLアップデート SQL削除 SQL Select Top SQLの最小値と最大値 SQLカウント、平均、合計 SQL Like SQLワイルドカード SQL入力 SQLの間 SQLエイリアス SQL結合 SQL内部結合 SQL左結合 SQL右結合 SQL完全結合 SQL自己結合 SQLユニオン SQL Group By SQLを持っている SQLが存在する SQL Any、All SQL Select Into SQL Insert Into Select SQLケース SQLNull関数 SQLストアドプロシージャ SQLコメント SQL演算子

SQLデータベース

SQL Create DB SQLドロップDB SQLバックアップDB SQLテーブルの作成 SQLドロップテーブル SQL ALTER TABLE SQLの制約 SQLはNullではありません SQL独自 SQL主キー SQL外部キー SQLチェック SQLのデフォルト SQLインデックス SQL自動インクリメント SQLの日付 SQLビュー SQLインジェクション SQLホスティング SQLデータ型

SQLリファレンス

SQLキーワード MySQL関数 SQLServerの機能 MSAccess関数 SQLクイック参照

SQLの

SQLの例 SQLクイズ SQL演習 SQL証明書

SQLUNIQUE制約_


SQLUNIQUE制約

制約により、列のUNIQUEすべての値が異なることが保証されます。

UNIQUEと 制約の両方がPRIMARY KEY、列または列のセットの一意性を保証します。

PRIMARY KEY制約には自動的に 制約がありUNIQUEます。

ただし、テーブルごとに多くの制約を設定できますがUNIQUE、テーブルごとに1つの制約のみ を設定できPRIMARY KEYます。


CREATETABLEに対するSQLUNIQUE制約

次のSQLはUNIQUE、「Persons」テーブルが作成されるときに「ID」列に制約を作成します。

SQL Server / Oracle / MS Access:

CREATE TABLE Persons (
    ID int NOT NULL UNIQUE,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int
);

MySQL:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    UNIQUE (ID)
);

制約に名前を付け、複数の列に制約UNIQUEを定義する UNIQUEには、次のSQL構文を使用します。

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    CONSTRAINT UC_Person UNIQUE (ID,LastName)
);


ALTERTABLEに対するSQLUNIQUE制約

UNIQUEテーブルがすでに作成されているときに「ID」列に制約を作成するには、次のSQLを使用します。

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD UNIQUE (ID);

制約に名前を付け、複数の列に制約UNIQUEを定義する UNIQUEには、次のSQL構文を使用します。

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT UC_Person UNIQUE (ID,LastName);

一意の制約を削除する

制約を削除するUNIQUEには、次のSQLを使用します。

MySQL:

ALTER TABLE Persons
DROP INDEX UC_Person;

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT UC_Person;