主键索引
创建主键索引
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
讨论区