SQLプライマリキー:既存のテーブルを作成して追加する方法
SQLの主キーとは何ですか?
主キーは、レコードを一意に識別するフィールドまたはフィールドの組み合わせです。主キーは、一意の列または列のセットです。つまり、すべての値は主キーに対して一意です。
主キーのルール
- 各テーブルに含めることができるSQL主キーは1つだけです。
- すべての値は一意であり、主キーです。 SQL値は各行を一意に識別できます。
- システムは、テーブルにすでに存在するSQLServer主キーを含む行の挿入を許可しません。
- 主キーをNULLにすることはできません。
以下の図は、SQL主キーに関する上記のすべてのポイントをまとめたものです。
このチュートリアルでは、
<を学習します。 ul>
- SQL Server ManagementStudioを使用する
- T-SQLを使用する:テーブルを作成する
- を使用するT-SQL:テーブルの変更(既存のテーブルへの追加)
SQLServerで主キーを作成する方法
主キーは次の2つの方法で作成できます:
1. SQL Server Management Studio
2. T-SQL:新しいテーブルの作成中にプライマリを作成する
SQL Server Management Studio
ステップ1)テーブル名を右クリックします。デザインをクリックします。
ステップ2)列名を右クリックします。 [主キーを設定]をクリックします
結果:Course_Idが主キーになりました。
T-SQL:新しいテーブルの作成中に主キーを作成します。
以下は、T-SQLから主キーを使用してテーブルを作成するための構文です
構文:
CREATE TABLE <Table_Name>(Column1 datatype,Column2 datatype,CONSTRAINT <Name> PRIMARY KEY (Column name).);
Let ” ■SQL主キーとして1つの列を持つテーブルを作成します。
クエリ:
CREATE TABLE COURSE_TSQL_PK (Course_ID Int not Null, Course_name Varchar(20) CONSTRAINT PK PRIMARY KEY (Course_ID))
ステップ1)をクリックしてクエリを実行します。 「実行します。」
結果:Course_Idが主キーになりました。
例:同じコースIDで複数のレコードを入力できるかどうかを確認しましょう。
ステップ1)異なるCourse_IDで4行を挿入します
ステップ2)Selectクエリを実行して、すべてのデータが正常に挿入されたことを確認します。
注:非主キーに重複する値を挿入できます。
ステップ3)では、主キーである既存のCourse_IDを使用して新しいレコードを挿入してみましょう。
Insert into COURSE_TSQL_PK values (4,"JAVA");
結果:主キーであるCourse_ID列が4つあるため、システムは新しい値の挿入を許可しません。
T-SQL:AlterTableを使用して既存のテーブルに主キーを追加する
次に、で既存のテーブルに主キーを追加する方法を説明します。 SQL:
ALTERステートメントを使用して主キーを作成できます。ただし、主キーはNOTNULLとして定義されている列にのみ作成できます。許可する列に主キーを作成することはできません。 NULL。必要に応じて、テーブルを削除して再作成する必要があります。
構文は次のとおりです。
ALTER TABLE tableNameADD CONSTRAINT constraintName PRIMARY KEY (column_1, column_2, ... column_n);
たとえば:
ALTER TABLE studentsADD CONSTRAINT students_pk PRIMARY KEY (admission);
既存のテーブルに主キー制約を追加しました。制約入学欄にntが追加され、students_pkという名前が割り当てられました。
興味深い事実!
- 主キーは複数の列の組み合わせにすることができます。この組み合わせは、複合主キーと呼ばれます。
- 主キーには最大16列を含めることができます。
概要
- 各テーブルは主キーを1つだけ持つことができます
- すべての値は一意であり、各行を一意に識別できます。