mysqlでフィールドにインデックスを追加する方法は何ですか?
MySQLでは、フィールドにインデックスを追加する方法は2つあります。
- テーブルを作成する際にフィールドのインデックスを定義する:テーブルの作成時に、CREATE TABLEステートメントを使用してフィールドのインデックスを定義することができます。例えば、ユーザーという名前のテーブルを作成し、usernameフィールドに一意なインデックスを追加する場合、次の例文を使用します。
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
email VARCHAR(50) NOT NULL,
INDEX idx_username (username),
UNIQUE INDEX idx_email (email)
);
上記のステートメントは、INDEXキーワードを使用して一般的なインデックスを定義し、UNIQUE INDEXキーワードを使用してユニークなインデックスを定義しています。
- ALTER TABLE文を使用してインデックスを追加する:既にテーブルが作成されている場合、ALTER TABLE文を使用してインデックスを追加することができます。例えば、usersテーブルのusernameフィールドに通常のインデックスを追加する例文は以下の通りです:
ALTER TABLE users ADD INDEX idx_username (username);
上記のステートメントは、ADD INDEXキーワードを使用して、idx_usernameという名前の通常のインデックスを追加しました。
普通インデックスやユニークインデックス以外にも、FULLTEXTインデックスや空間インデックスなどの種類のインデックスが利用できます。詳細はMySQLの公式ドキュメントを参照してください。