【MySQL】インデックス(索引)を作成・変更・削除するSQL


ここではMySQLで、インデックス(索引)を作成・変更・削除するSQLを紹介しています。

インデックス(索引)を作成するSQL-1

インデックスの作成はCREATE INDEX文を使います。

CREATE INDEX文の基本構文

CREATE [UNIQUE] INDEX インデックス名
ON テーブル名(列名1[,列名2・・・]);

CREATE INDEX文のサンプル

CREATE INDEX idx1 ON tb1(col1);

複数の列を使ってマルチカラムインデックスを作成するときは、列名をカンマ区切りで列挙していきます。

CREATE INDEX idx1 ON tb1(col1,col2,col3);

インデックス(索引)を作成するSQL-2

インデックスはALTER TABLE文で追加することもできます。

ALTER TABLE文でインデックス追加する基本構文

ALTER TABLE テーブル名
ADD INDEX インデックス名(列名1[,列名2・・・]);

ALTER TABLE文でインデックス追加するサンプル

ALTER TABLE tb1 ADD INDEX idx1(col1);

複数の列でマルチカラムインデックスを作成するときは、列名をカンマ区切りで列挙して指定します。

ALTER TABLE tb1 ADD INDEX idx1(col1,col2,col3);

インデックス(索引)を削除するSQL-1

インデックスを削除するときはDROP文を使います。

DROP INDEX文の基本構文

DROP INDEX インデックス名 ON テーブル名;

DROP INDEX文のサンプル

DROP INDEX idx1 ON tb1;

インデックス(索引)を削除するSQL-2

インデックスはALTER文で削除することも出来ます。

ALTER TABLE文でインデックス削除する基本構文

ALTER TABLE テーブル名
DROP INDEX インデックス名;

ALTER TABLE文でインデックス削除するサンプル

ALTER TABLE tb1 DROP INDEX idx1;