1. 程式人生 > >MySQL新增索引

MySQL新增索引

    -- 1.新增PRIMARY KEY(主鍵索引) 
    ALTER TABLE `table_name` ADD PRIMARY KEY (`column`) ;
    -- 2.新增UNIQUE(唯一索引) 
    ALTER TABLE `table_name` ADD UNIQUE (`column`);
    -- 3.新增INDEX(普通索引) 
    ALTER TABLE `table_name` ADD INDEX index_name (`column`);
    -- 4.新增FULLTEXT(全文索引) 
    ALTER TABLE `table_name` ADD FULLTEXT (`column`);
    -- 5.新增多列索引 
    ALTER TABLE `table_name` ADD INDEX index_name (`column1`, `column2`, `column3`);

下面是更加詳細的方法

MySQL中可以使用alter table這個SQL語句來為表中的欄位新增索引。 使用alter table語句來為表中的欄位新增索引的基本語法是: ALTER TABLE <表名> ADD INDEX (<欄位>); 我們來嘗試為test中t_name欄位新增一個索引。 mysql> alter table test add index(t_name); Query OK, 0 rows affected (0.17 sec) Records: 0  Duplicates: 0  Warnings: 0 執行成功後,我們來看看結果。 mysql> describe test; +------------+-------------+------+-----+---------+-------+ | Field      | Type        | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+-------+ | t_id       | int(11)     | YES  |     | NULL    |       | | t_name     | varchar(50) | NO   | MUL | NULL    |       | | t_password | char(32)    | YES  |     | NULL    |       | | t_birth    | date        | YES  |     | NULL    |       | +------------+-------------+------+-----+---------+-------+ 4 rows in set (0.00 sec) 結果可以看出,t_name欄位的Key這一欄由原來的空白變成了MUL。這個MUL是什麼意思呢?簡單解釋一下:如果Key是MUL,那麼該列的值可以重複,該列是一個非唯一索引的前導列(第一列)或者是一個唯一性索引的組成部分但是可以含有空值NULL。