mysql 创建 主键索引 唯一索引 全文索引 多列索引 添加索引

1、概念

1)、查看索引 show index from 数据库表名
2)、alter table 数据库表 add index 索引名称(数据库表字段名称)

2、索引类型:

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 )

3、操作

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

(1)创建索引:
CREATE INDEX indexName ON tableName(tableColumns(length));
如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是BLOB 和 TEXT 类型,必须指定length,下同。
(2)修改表结构:
ALTER tableName ADD INDEX [indexName] ON (tableColumns(length))
(3)创建表的时候直接指定:
CREATE TABLE tableName ( […], INDEX [indexName] (tableColumns(length)) ;

2).唯一索引。
它与前面的”普通索引”类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。它有以下几种创建方式:

(1)创建索引:
CREATE UNIQUE INDEX indexName ON tableName(tableColumns(length))
(2)修改表结构:
ALTER tableName ADD UNIQUE [indexName] ON (tableColumns(length))
(3)创建表的时候直接指定:
CREATE TABLE tableName ( […], UNIQUE [indexName] (tableColumns(length));

3).主键索引
它是一种特殊的唯一索引,不允许有空值。一般是在建表的时候同时创建主键索引:

CREATE TABLE testIndex(i_testID INT NOT NULL AUTO_INCREMENT,vc_Name VARCHAR(16) NOT NULL,PRIMARY KEY(i_testID)); 当然也可以用ALTER命令。




参考地址:
https://www.cnblogs.com/aquilahkj/archive/2011/11/07/2240310.html

你可能感兴趣的:(mysql,mysql,mysql索引)