普通索引
- #直接创建
- CREATE INDEX index_name ON table(column(length))
- #Alter修改
- ALTER TABLE table_name ADD INDEX index_name ON (column(length))
- #创建表
- CREATE TABLE `table` (
- `id` int(11) NOT NULL AUTO_INCREMENT ,
- `title` char(255) CHARACTER NOT NULL ,
- `content` text CHARACTER NULL ,
- `time` int(10) NULL DEFAULT NULL ,
- PRIMARY KEY (`id`),
- INDEX index_name (title(length))
- )
- #删除索引
- DROP INDEX index_name ON table
唯一索引:索引列的值时唯一的,允许为空
- #创建唯一索引
- CREATE UNIQUE INDEX indexName ON table(column(length))
- #修改
- ALTER TABLE table_name ADD UNIQUE indexName ON (column(length))
- #创建表的时候直接指定
- CREATE TABLE `table` (
- `id` int(11) NOT NULL AUTO_INCREMENT ,
- `title` char(255) CHARACTER NOT NULL ,
- `content` text CHARACTER NULL ,
- `time` int(10) NULL DEFAULT NULL ,
- UNIQUE indexName (title(length))
- );
-
-
-
主键索引:一个表只有一个不允许为空
- CREATE TABLE `table` (
- `id` int(11) NOT NULL AUTO_INCREMENT ,
- `title` char(255) NOT NULL ,
- PRIMARY KEY (`id`)
- );
组合索引:只有在查询条件中使用了创建索引时的第一个字段,索引才会被使用。使用组合索引时遵循最左前缀集合
ALTER TABLE `table` ADD INDEX name_city_age (name,city,age);
全文索引:目前只有char、varchar,text 列上可以创建全文索引,
- CREATE TABLE `table` (
- `id` int(11) NOT NULL AUTO_INCREMENT ,
- `title` char(255) CHARACTER NOT NULL ,
- `content` text CHARACTER NULL ,
- `time` int(10) NULL DEFAULT NULL ,
- PRIMARY KEY (`id`),
- FULLTEXT (content)
- );
- #修改
- ALTER TABLE article ADD FULLTEXT index_content(content);
- #直接创建
- CREATE FULLTEXT INDEX index_content ON article(content);