TECH I.S.

SQL UNIQUE制約


SQL UNIQUE制約

UNIQUE制約により、列内のすべての値が異なることが保証されます。 UNIQUE制約とPRIMARY KEY制約はどちらも、列または列セットの一意性を保証します。PRIMARY KEY制約には、自動的にUNIQUE制約が設定されます。

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


CREATE TABLEのSQL UNIQUE制約

次のSQLは、「Persons」テーブルの作成時に「ID」列にUNIQUE制約を作成します。

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) );


ALTER TABLEのSQL UNIQUE制約

テーブルがすでに作成されている場合に「ID」列にUNIQUE制約を作成するには、次の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制約を削除する

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

MySQL:

ALTER TABLE Persons DROP INDEX UC_Person;

SQL Server/Oracle/MS Access:

ALTER TABLE Persons DROP CONSTRAINT UC_Person;



プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細