ここでは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;