TECH I.S.

SQL PRIMARY KEY制約


SQL PRIMARY KEY制約

PRIMARY KEY制約は、テーブル内の各レコードを一意に識別します。

主キーにはUNIQUE値を含める必要があり、NULL値を含めることはできません。

テーブルは主キーを1つだけ持つことができます。テーブルでは、この主キーは1つまたは複数の列 (フィールド)で構成できます。


CREATE TABLEのSQL PRIMARY KEY

以下のSQLは"Persons"テーブルが作成されたときの"ID" 列にPRIMARY KEY
を作成します。

MySQL:

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

SQL Server/Oracle/MS Access:

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

PRIMARY KEY制約に名前を付けたり、複数の列にPRIMARY KEY制約を定義したりするには、次の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 PK_Person PRIMARY KEY (ID,LastName) );

注:上記の例では、PRIMARY KEYは1つしかありません(PK_Person)。ただし、主キーの値は2 つの列(ID + 姓)で構成されます。


ALTER TABLEのSQL PRIMARY KEY

テーブルがすでに作成されているときに、「 ID 」カラムにPRIMARY KEY制約を作成するには、以下のSQLを使用します。

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons ADD PRIMARY KEY (ID);

PRIMARY KEY制約の名前を指定したり、複数の列にPRIMARY KEY制約を定義するには、以下の SQL構文を使用します。

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons ADD CONSTRAINT PK_Person PRIMARY KEY (ID,LastName);

注:使用する場合ALTER TABLE主キーを追加するには、(テーブルが最初に作成されたときに) 主キー列がNULL値を含まないように宣言されている必要があります。


PRIMARY KEY制約を削除する

ドロップするにはPRIMARY KEY次のSQLを使用します。

MySQL:

ALTER TABLE Persons DROP PRIMARY KEY;

SQL Server/Oracle/MS Access:

ALTER TABLE Persons DROP CONSTRAINT PK_Person;



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

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

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

スクールの詳細