用CREATE\DROP INDEX創建索引
還可以用CREATE INDEX語句來創建索引.CREATE INDEX 是在 MySQL 3.23版中引入的,但如果使用3.23 版以前的版本,可利用 ALTER TABLE 語句創建索引(MySQL 通常在內部將 CREATE INDEX 映射到 ALTER TABLE)。該語句創建索引的語法如下:
CREATE UNIQUE INDEX index_name ON tbl_name (column_list) CREATE INDEX index_name ON tbl_name (column_list)
tbl_name、index_name 和 column_list 具有與 ALTER TABLE 語句中相同的含義。這裡索引名不可選。很明顯,CREATE INDEX 可對表增加普通索引或 UNIQUE 索引,不能用 CREATE INDEX 語句創建 PRIMARY KEY 索引。
可利用 DROP INDEX語句來刪除索引。類似於 CREATE INDEX 語句,DROP INDEX 通常在內部作為一條 ALTER TABLE 語句處理,並且DROP INDEX是在 MySQL 3.22 中引入的。
刪除索引語句的語法如下:
DROP INDEX index_name ON tbl_name
還是上一節的例子,由於CREATE INDEX不能創建PRIMARY索引,所以這裡我們值創建一個多列索引:
MySQL> CREATE INDEX mark ON student(english,chinese,history);
同樣的檢查student表,可知:
MySQL> SHOW INDEX FROM student;
+---------+------------+----------+--------------+-------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name |
+---------+------------+----------+--------------+-------------+
| student | 1 | mark | 1 | english |
| student | 1 | mark | 2 | chinese |
| student | 1 | mark | 3 | history |
+---------+------------+----------+--------------+-------------+
然後使用下面的語句刪除索引:
MySQL> DROP INDEX mark ON student;
-