SQLチュートリアル

SQL HOME SQLイントロ SQL構文 SQL Select SQL Select Distinct SQL Where SQL And、Or、Not SQLの順序 SQL Insert Into SQLNull値 SQLアップデート SQL削除 SQL Select Top SQLの最小値と最大値 SQLカウント、平均、合計 SQL Like SQLワイルドカード SQL入力 SQLの間 SQLエイリアス SQL結合 SQL内部結合 SQL左結合 SQL右結合 SQL完全結合 SQL自己結合 SQLユニオン SQL Group By SQLを持っている SQLが存在する SQL Any、All SQL Select Into SQL Insert Into Select SQLケース SQLNull関数 SQLストアドプロシージャ SQLコメント SQL演算子

SQLデータベース

SQL Create DB SQLドロップDB SQLバックアップDB SQLテーブルの作成 SQLドロップテーブル SQL ALTER TABLE SQLの制約 SQLはNullではありません SQL独自 SQL主キー SQL外部キー SQLチェック SQLのデフォルト SQLインデックス SQL自動インクリメント SQLの日付 SQLビュー SQLインジェクション SQLホスティング SQLデータ型

SQLリファレンス

SQLキーワード MySQL関数 SQLServerの機能 MSAccess関数 SQLクイック参照

SQLの

SQLの例 SQLクイズ SQL演習 SQL証明書

SQL PRIMARYKEY制約


SQL PRIMARYKEY制約

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

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

テーブルに含めることができる主キーは1つだけです。表では、この主キーは単一または複数の列(フィールド)で構成できます。


CREATETABLEのSQLPRIMARY KEY

次のSQLはPRIMARY KEY、「Persons」テーブルが作成されるときに「ID」列にを作成します。

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)しかありません。ただし、主キーのVALUEは、2つの列(ID + LastName)で構成されます。



ALTERTABLEのSQLPRIMARY KEY

PRIMARY KEYテーブルがすでに作成されているときに「ID」列に制約を作成するには、次の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には、次のSQLを使用します。

MySQL:

ALTER TABLE Persons
DROP PRIMARY KEY;

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT PK_Person;