主キー (Primary Key) の各データはテーブルでの唯一の值。言い換えれば、主キーは一つのテーブルにおける各行のデータを唯一的に確かめるのに使われるもの。主キーはもとのデータ內の一つのフィールド、又は一つの作られたフィールド (もとのデータと関係しないフィールド)が可能です。主キーは一つ又は複数のフィールドを含むことが可能。主キーが複数のフィールドを含む場合、複合キー (Composite Key)と呼ばれます。
主キーは新テーブルを作るのに設定され (CREATE TABLE 句より)、又は既有のテーブルの構造設定を変更する (ALTER TABLEより)のに使われることが可能。
以下、新しいテーブルを作るのに使われる主キーの設定方法について、幾つかの例を挙げます。
MySQL:
CREATE TABLE Customer
(SID integer,
Last_Name varchar(30),
First_Name varchar(30),
PRIMARY KEY (SID));
Oracle:
CREATE TABLE Customer
(SID integer PRIMARY KEY,
Last_Name varchar(30),
First_Name varchar(30));
SQL Server:
CREATE TABLE Customer
(SID integer PRIMARY KEY,
Last_Name varchar(30),
First_Name varchar(30));
次は既有のテーブルの構造設定を変更するのに使われる主キーの設定方法です。
MySQL:
ALTER TABLE Customer ADD PRIMARY KEY (SID);
Oracle:
ALTER TABLE Customer ADD PRIMARY KEY (SID);
SQL Server:
ALTER TABLE Customer ADD PRIMARY KEY (SID);
ALTER TABLEの句で、主キーを設定する前に、主キーとして使われるフィールドが [NOT NULL]と設定されるかどうかを確かめることに注意してください。すなわち、そのフィールドに必ずデータがあること。