ホームページ >データベース >SQL >SQL Server の主キー制約 (PRIMARY KEY) を簡単に理解する

SQL Server の主キー制約 (PRIMARY KEY) を簡単に理解する

WBOY
WBOY転載
2022-09-06 17:30:573123ブラウズ

この記事では、SQL サーバー に関する関連知識を提供します。主に SQL Server の主キー制約 (PRIMARY KEY) について紹介します。主キーは、テーブル内の各行を一意に識別する列またはグループです。コラムでは、このトピックについて詳しく展開しています。一緒に見てみましょう。皆様のお役に立てれば幸いです。

SQL Server の主キー制約 (PRIMARY KEY) を簡単に理解する

推奨学習:「SQL チュートリアル

SQL Server PRIMARY KEY (主キー) 制約の概要

主キー テーブル内の各行を一意に識別する列または列のセットです。主キー制約を使用して、テーブルの主キーを作成できます。
主キーに列が 1 つだけ含まれている場合は、列制約として PRIMARY KEY 制約を使用できます。

CREATE TABLE table_name (
    pk_column data_type PRIMARY KEY,
    ...
);

主キーに 2 つ以上の列がある場合は、次のようにする必要があります。主キー制約を使用する テーブル制約:

CREATE TABLE table_name (
    pk_column_1 data_type,
    pk_column_2 data type,
    ...
    PRIMARY KEY (pk_column_1, pk_column_2)
);

各テーブルには主キーを 1 つだけ含めることができ、1 つの主キーには複数の列を含めることができます。つまり、複数の列の組み合わせを繰り返すことはできません。主キーに含まれるすべての列は、NOT NULL として定義する必要があります。すべての主キー列に NOT NULL 制約が指定されていない場合、SQL Server はこれらの列に非 NULL 制約を自動的に設定します。

SQL Server の PRIMARY KEY 制約の例

次の例では、1 つの列で構成される主キーを持つテーブルを作成します。

CREATE TABLE dbo.activities (
    activity_id INT PRIMARY KEY IDENTITY,--主键
    activity_name VARCHAR (255) NOT NULL,
    activity_date DATE NOT NULL
);

In tabledbo.activities では、activity_id 列が主キー列であり、この列の値を繰り返すことはできないことを意味します。

activity_id# に使用されます。 ##列は一意の整数値を自動的に生成します。

次の例では、外部キーを形成する 2 つの列を持つ新しいテーブルを作成します:

CREATE TABLE dbo.participants(
    activity_id int,
    customer_id int,
    PRIMARY KEY(activity_id, customer_id)
);

この例では、

activity_id または customer_id

列の値は繰り返すことができますが、2 つの列の値の組み合わせはそれぞれ一意である必要があります。

通常、主キーはテーブルの作成時に常に定義されます。ただし、既存のテーブルに主キーが定義されていない場合があります。この場合、ALTER TABLE ステートメントを使用してテーブルに主キーを追加できます。例:

最初に主キー列のないテーブルを作成します:

CREATE TABLE dbo.events(
    event_id INT NOT NULL,
    event_name VARCHAR(255),
    start_date DATE NOT NULL,
    duration DEC(5,2)
);

次に、

event_id 列を主キーにします:

ALTER TABLE sales.events 
ADD PRIMARY KEY(event_id);

sales.events テーブルに既にデータがある場合は、

event_id
列を主キーに昇格する前に、## の値が正しいことを確認する必要があることに注意してください。 #event_id

は繰り返されません。 推奨学習: 「SQL チュートリアル

以上がSQL Server の主キー制約 (PRIMARY KEY) を簡単に理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjb51.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。