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;
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。