【MySQL】主キー/プライマリーキーの設定/追加/変更/削除
ここではMySQLで、主キー/プライマリーキーを設定/追加/変更/削除する方法を紹介しています。
主キー/プライマリーキーの設定/追加/変更/削除
主キーの設定:CREATE TABLE文
CREATE TABLE文でテーブルを作成するときに、同時に主キー/プライマリーキー制約を作成することが出来ます。
CREATE TABLE文で主キー制約を設定したい項目に、PRIMARY KEYキーワードを記述します。
次のSQLでは、emp_id列に主キー制約を設定しています。
CREATE TABLE tab1(
emp_id varChar(10) PRIMARY KEY
,emp_name varChar(100)
,dept varChar(10)
,age int
);
PRIMARY KEYキーワードは次のようにカラムの並びの最後に記述することもできます。
CREATE TABLE tab1(
emp_id varChar(10)
,emp_name varChar(100)
,dept varChar(10)
,age int
,PRIMARY KEY(emp_id)
);
また、次のように複数のカラムで主キーを構成することも出来ます。
CREATE TABLE tab1(
emp_id varChar(10)
,emp_name varChar(100)
,dept varChar(10)
,age int
,PRIMARY KEY(emp_id,emp_name)
);
主キーの追加:ALTER TABLE文
ALTER TABLE文を使うことで、既存のテーブルに主キー/プライマリーキーを追加することが出来ます。
ALTER TABLE文で主キー制約を追加する構文は次の通りです。
ALTER TABLE テーブル名 ADD PRIMARY KEY (列名1[,列名2...]);
次のSQLでは、tab1テーブルのemp_id列に主キーを追加しています。
ALTER TABLE tab1 ADD PRIMARY KEY (emp_id);
次のように複数のカラムで主キーを構成することもできます。
ALTER TABLE tab1 ADD PRIMARY KEY (emp_id,emp_name);
主キーの変更
主キーを変更するには、既存の主キーの削除と新しい主キー制約の設定が必要になります。
--主キーの削除
ALTER TABLE テーブル名 DROP PRIMARY KEY;
--主キーの設定
ALTER TABLE テーブル名 ADD PRIMARY KEY (列名1[,列名2...]);
主キーの削除と追加を1文で実行することもできます。
LTER TABLE テーブル名 DROP PRIMARY KEY,ADD PRIMARY KEY (カラム名);
主キーの削除
ALTER TABLE文を使うことで、主キーを削除することが出来ます。
ALTER TABLE文で主キー制約を削除する構文は次の通りです。
ALTER TABLE テーブル名 DROP PRIMARY KEY;
次のSQLでは、tab1テーブルの主キーを削除しています。
ALTER TABLE tab1 DROP PRIMARY KEY;