MySQL は、オープンソースのリレーショナル データベース管理システムです。 MySQL では、主キーはテーブル内のデータの各行を一意に識別する列または列の組み合わせです。主キーはテーブルで重要な役割を果たし、取得速度とデータの整合性を向上させます。主キーの設定方法は非常に簡単なので、この記事ではMySQLで主キーを設定する方法を紹介します。
1. 主キーとは何ですか?
主キーは、テーブル内のデータの各行を一意に識別するために使用される列または列の組み合わせです。主キーの値は一意である必要があり、重複した値を持つことはできません。主キーは、データの取得を高速化し、データの整合性を確保するためにも使用できます。 MySQL では、各テーブルの設計要件に応じて、単一列の主キーまたは複合主キーを使用できます。
2. 主キーの設定方法
MySQL での主キーの設定は非常に簡単です。テーブルを作成するときは、列定義の後に PRIMARY KEY キーワードを追加するだけです。
たとえば、次の SQL ステートメントは、id 列が主キーである table1 という名前のテーブルを作成します。
CREATE TABLE table1 ( id int NOT NULL PRIMARY KEY, name varchar(50) NOT NULL, age int NOT NULL );
この SQL ステートメントは、id 列が含まれる 3 つの列を持つテーブルを作成します。列は主キーであり、名前と年齢の列は通常の列です。ご覧のとおり、ID 列定義の後に PRIMARY KEY キーワードを追加するだけで、ID 列が主キーになります。
さらに、テーブルを作成するときに、複数の列を使用して複合主キーを定義することもできます。たとえば、次の SQL ステートメントは、id 列と email 列が複合主キーに結合される table2 という名前のテーブルを作成します。
CREATE TABLE table2 ( id int NOT NULL, email varchar(50) NOT NULL, name varchar(50) NOT NULL, PRIMARY KEY (id,email) );
この SQL ステートメントでは、「(id, email)」を使用します。 ID を表すために列と電子メール列が一緒になって複合主キーを形成します。
3. 主キーを追加する方法
テーブルの作成時に主キーを追加するのを忘れた場合は、ALTER TABLE ステートメントを使用してテーブルに主キーを追加することもできます。
構文は次のとおりです:
ALTER TABLE table_name ADD PRIMARY KEY (column_name1, column_name2, ...);
たとえば、上記の table2 テーブルに主キーを追加すると仮定すると、次の SQL ステートメントを使用できます:
ALTER TABLE table2 ADD PRIMARY KEY (id, email);
この SQL ステートメントでは、id 列と email 列が主キーとして設定されます。
主キーをテーブルに追加するときは、列のデータ型が NULL でないことを確認する必要があることに注意してください。
4. 主キーの変更方法
主キーを変更する必要がある場合は、ALTER TABLE ステートメントを使用してテーブル内の主キーを変更できます。
構文は次のとおりです:
ALTER TABLE table_name DROP PRIMARY KEY, ADD PRIMARY KEY (column_name1, column_name2, ...);
たとえば、上記の table1 テーブルの主キーを id 列から name 列に変更すると仮定すると、次のコードを使用できます。 SQL ステートメント:
ALTER TABLE table1 DROP PRIMARY KEY, ADD PRIMARY KEY (name);
この SQL ステートメントは、主キーから id 列を削除し、主キーに name 列を追加します。
この操作はテーブル内のデータに影響を与える可能性があるため、主キーを変更する前にデータをバックアップする必要があることに注意してください。
5. 概要
MySQL で主キーを設定することは非常に重要であり、これによりデータの取得速度が向上し、データの整合性が保証されます。主キーの設定は非常に簡単で、列定義の後に PRIMARY KEY キーワードを追加するか、ALTER TABLE ステートメントを使用して主キーを追加または変更するだけです。主キーを使用すると、データをより適切に管理できるようになります。
以上がmysqlの主キー設定の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。