SQL の基本 | DDL: データ定義言語 | Primary Key: 主キー
主キー (Primary Key) の各値は、テーブル内で一意である。つまり、主キーは 1 つのテーブルで各行のデータを一意に識別するために使用される。主キーには、元のデータ内の 1 つのフィールド、または元のデータとは関係なく作成されたフィールドを使用できる。主キーは 1 つ以上のフィールドを含むことができる。主キーが複数のフィールドを含む場合は、複合キー (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 に設定されていることを確認する必要がある。つまり、そのフィールドには常にデータが入っていなければならない。