index:指标;指数;索引;指针
概念:索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。
作用:在数据库中用来加速对表的查询
自动: 当在表上定义一个primary key 或者unique 约束条件时, 数据库自动创建一个对应的索引.
如果该字段没有添加唯一约束,在给该字段添加唯一索引后会自动给该字段添加唯一约束。
二叉树索引
哈希索引
查看索引
show index from 表名;
一. 普通索引
最基本的索引,它没有任何限制
语法:
1,创建表时直接添加索引:
create table 表名(列名1 类型 , 列名2 类型.......,index 索引名称(列名1));
例:create table user (id int, name text ,index index_id(id));
2,对存在表的字段添加索引:
直接创建索引(可以自定义索引名称)
create index 索引名(自己定义) on 表名(要添加索引的列名)
例:create index index_id on user (id);
修改表结构的方式添加索引(名字与列名相同)
alter table 表名 add index (列名);
例:alter table user add index (id);
二. 唯一索引
与普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值(注意和主键不同)。如果是组合索引,则列值的组合必须唯一,创建方法和
普通索引类似。
语法:
1.创建表时直接添加索引:
create table 表名(列名1 类型 , 列名2 类型.......,unique index 索引名称(列名1));
例:create table user (id int, name text ,unique index index_name(name));
2.对存在表的字段添加索引:
直接创建索引(可以自定义索引名称)
create unique index 索引名(自己定义) on 表名(要添加索引的列名)
例:create unique index index_id on user (id);
修改表结构的方式添加索引(名字与列名相同)
alter table 表名 add unique(列名);
例:alter table user add unique(id);
删除 索引:
语法:
1. drop index 索引名称(如果没有就是列名) on 表名;
例: drop index index_id on user;
2. alter table 表名 drop index 索引名;
例: alter table a drop index index_id
概念:索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。
作用:在数据库中用来加速对表的查询
自动: 当在表上定义一个primary key 或者unique 约束条件时, 数据库自动创建一个对应的索引.
如果该字段没有添加唯一约束,在给该字段添加唯一索引后会自动给该字段添加唯一约束。
二叉树索引
哈希索引
查看索引
show index from 表名;
一. 普通索引
最基本的索引,它没有任何限制
语法:
1,创建表时直接添加索引:
create table 表名(列名1 类型 , 列名2 类型.......,index 索引名称(列名1));
例:create table user (id int, name text ,index index_id(id));
2,对存在表的字段添加索引:
直接创建索引(可以自定义索引名称)
create index 索引名(自己定义) on 表名(要添加索引的列名)
例:create index index_id on user (id);
修改表结构的方式添加索引(名字与列名相同)
alter table 表名 add index (列名);
例:alter table user add index (id);
二. 唯一索引
与普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值(注意和主键不同)。如果是组合索引,则列值的组合必须唯一,创建方法和
普通索引类似。
语法:
1.创建表时直接添加索引:
create table 表名(列名1 类型 , 列名2 类型.......,unique index 索引名称(列名1));
例:create table user (id int, name text ,unique index index_name(name));
2.对存在表的字段添加索引:
直接创建索引(可以自定义索引名称)
create unique index 索引名(自己定义) on 表名(要添加索引的列名)
例:create unique index index_id on user (id);
修改表结构的方式添加索引(名字与列名相同)
alter table 表名 add unique(列名);
例:alter table user add unique(id);
删除 索引:
语法:
1. drop index 索引名称(如果没有就是列名) on 表名;
例: drop index index_id on user;
2. alter table 表名 drop index 索引名;
例: alter table a drop index index_id
注意:text字段创建索引(前提是表引擎应该是MyISAM的)
关于善知教育(官网:[善知教育](http://www.itszt.com/) 微信公众号:善知技术)
地址:北京东燕郊经济技术开发区文化大厦
咨询老师:郑老师 电话/微信:13315631002 QQ:1939441377
目前我们开设Java服务器、HTML5前端网页、Android移动端、PHP服务器;有全日制班、有周末班;
学费优惠至8480!!!!!!