SQLServerの主キー

概要:このチュートリアルでは、SQLServerのPRIMARY KEY制約を使用してテーブルの主キーを作成する方法を学習します。 。

SQLServerの主キー制約の概要

主キーは、テーブル内の各行を一意に識別する列または列のグループです。 PRIMARY KEY制約を使用してテーブルの主キーを作成します。

主キーが1つの列のみで構成されている場合は、use PRIMARY KEY列制約としての制約:

Code language: SQL (Structured Query Language) (sql)

主キーに2つ以上の列がある場合は、

テーブル制約としての制約:

各テーブルに含めることができる主キーは1つだけです。主キーに関与するすべての列は、NOT NULLとして定義する必要があります。 NOT NULL制約がこれらの列に指定されていない場合、SQLServerはすべての主キー列にNOT NULL制約を自動的に設定します。

SQL Serverは、主キーを作成するときに、一意のクラスター化インデックス(またはそのように指定されている場合は非クラスター化インデックス)も自動的に作成します。

SQL Server PRIMARYKEY制約の例

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

このsales.activitiesテーブルでは、activity_id列は主キー列です。これは、activity_id列に一意の値が含まれていることを意味します。

IDENTITYプロパティは列で一意の整数値を自動的に生成します。

次のステートメントは、主キーが2つの列で構成されるsales.participantsという名前の新しいテーブルを作成します。

この例では、activity_id列またはcustomer_id列の値を複製できますが、値の組み合わせごとに両方の列の値は一意である必要があります。

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

次のステートメントは、主キーなしでテーブルを作成します。

event_id列を主キーとして作成するには、次のALTER TABLEステートメントを使用します。

Code language: SQL (Structured Query Language) (sql)

sales.eventsテーブルにはすでにデータがあり、event_id列を主キーとして昇格させる前に、event_idの値を確認する必要があります。

このチュートリアルでは、SQL Server PRIMARY KEY制約を使用してテーブルの主キーを作成する方法を学習しました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です