SQL PRIMARY KEY

SQL UNIQUE SQL FOREIGN KEY

SQL PRIMARY KEY 制約

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

主キーには一意の値が含まれている必要があります。

主キー列には NULL 値を含めることはできません。

各テーブルには主キーが 1 つある必要があり、各テーブルに主キーを 1 つだけ持つことができます。

SQL PRIMARY KEY Constraint on CREATE TABLE

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

MySQL:

CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (Id_P)
)

SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
Id_P int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

PRIMARY KEY 制約に名前を付け、複数の列に PRIMARY KEY 制約を定義する必要がある場合は、次の SQL 構文を使用します。

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)
)

SQL PRIMARY KEY Constraint on ALTER TABLE

テーブルがすでに存在する場合に「Id_P」列に PRIMARY KEY 制約を作成する場合は、次の SQL を使用します。

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD PRIMARY KEY (Id_P)

PRIMARY KEY 制約に名前を付け、複数の列に PRIMARY KEY 制約を定義する必要がある場合は、次の SQL 構文を使用します。

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,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_PersonID