请稍候,加载中....

MySQL 索引管理


主键索引

创建主键索引

ALTER TABLE table ADD PRIMARY KEY (column_list)

删除主键索引

ALTER TABLE table DROP PRIMARY KEY;

 


普通索引

创建数据表同时创建索引

这是最基本的索引,它没有任何限制。它有以下几种创建方式:

CREATE INDEX indexName ON table_name (column_name)

创建索引示例

CREATE TABLE users(  
ID INT NOT NULL,   
username VARCHAR(16) NOT NULL,  
INDEX [indexName] (username(length))   
);

如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是BLOB和TEXT类型,必须指定 length。

通过修改表结构添加索引

ALTER table tableName ADD INDEX indexName(columnName)

删除索引的语法

DROP INDEX [indexName] ON mytable;

 


唯一索引

它与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有NULL值。如果是组合索引,则列值的组合必须唯一。

它有以下几种创建方式:

创建唯一索引

CREATE UNIQUE INDEX indexName ON mytable(username(length))

通过ALTER语句添加唯一索引

ALTER table mytable ADD UNIQUE [indexName] (username(length))

在创建表的时候直接创建唯一索引

CREATE TABLE mytable(  
ID INT NOT NULL,   
username VARCHAR(16) NOT NULL,  
UNIQUE [indexName] (username(length))  
);  

 


全文索引

全文索引可以用于文本检索

ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list)

 


显示索引信息

你可以使用 SHOW INDEX 命令来列出表中的相关的索引信息。可以通过添加 \G 来格式化输出信息。

SHOW INDEX FROM table_name; \G

Python学习手册-