SQL入門チュートリアルマニュ...ログイン
SQL入門チュートリアルマニュアル
著者:php.cn  更新時間:2022-04-12 14:15:40

SQL 固有



SQL UNIQUE 制約

UNIQUE 制約は、データベース テーブル内の各レコードを一意に識別します。

UNIQUE 制約と PRIMARY KEY 制約はどちらも、列または列のセットの一意性を保証します。

PRIMARY KEY 制約には、UNIQUE 制約が自動的に定義されています。

各テーブルには複数の UNIQUE 制約を持つことができますが、テーブルごとに PRIMARY KEY 制約は 1 つだけ存在できることに注意してください。


CREATE TABLE 時の SQL UNIQUE 制約

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

LastName varchar(255) NOT NULL,

FirstName varchar(255),Address varchar(255),City varchar(255),

UNIQUE (P_Id)
)



SQL Server / Oracle / MSアクセス :



CREATE TABLE persons
(
P_Id int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,

FirstName varchar(255),Address varchar(255),City varchar(255)

)

UNIQUE 制約に名前を付け、複数の列に UNIQUE 制約を定義するには、次の SQL 構文を使用してください:


MySQL / SQL Server / Oracle / MS Access:


CREATE TABLE persons
(

P_Id int NOT NULL ,

LastName varchar(255) NOT NULL,

FirstName varchar(255),Address varchar(255),City varchar(255),

CONSTRAINT uc_personID UNIQUE (P_Id,LastName)
)




ALTER TABLE time SQL UNIQUE 制約

テーブルが作成されたら、「P_Id」列に UNIQUE 制約を作成するには、次の SQL を使用してください:

MySQL / SQL Server / Oracle / MS Access:


ALTER TABLE persons

ADD UNIQUE (P_Id)

UNIQUE 制約に名前を付け、複数の列に UNIQUE 制約を定義するには、次の SQL 構文を使用してください:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE persons
ADD CONSTRAINT uc_personID UNIQUE (P_Id,LastName)

UNIQUE制約を取り消す

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

MySQL:


ALTER TABLE persons

DR OP INDEX uc_personID

SQL Server/Oracle/MS Access:

ALTER TABLE persons
DROP CONSTRAINT uc_personID