索引及索引相关操作


 1 1.什么是索引
 2 一个索引是存储在表中的数据结构,索引在表的列名上创建。索引中包含了一个列的值,这些值保存在一个数据结构中。
 3 重点:索引是一种数据结构
 4 
 5 2.索引的作用
 6  2.1可以利用索引快速访问数据库中的特定信息.
 7 2.2保证数据记录的唯一性
 8 2.3实现表与表之间的参照完整性
 9 2.4 在使用0rder bygroup  子句进行数据检索时可以,减少排序和分组的时间
10 3.索引分类
11 3.1 普通索引     index         (mnl)
12 最基本的索引,没有任何限制
13 格式一:
14 alter table  表名  add index  索引名(字段名)注意:有括号
15 alter table  emp  add index  name_index(name) 
16 格式二:
17 alter table  表名  add index  (字段名 ); 
18 alter table  emp  add index  (age ); 
19 3.2 唯一索引     unique       ( uni)
20 一种表示唯一,可以有多列,可以为空
21 唯一索引格式一:
22 alter table  表名  add unique  索引名(字段名 ); 
23 alter table  dept  add unique  a(dept1 ); 
24 alter table  表名  add unique  (字段名 );
25 alter table  dept  add unique  (dept_name );
26 3.3 主键索引     primary  key  (pri)主键索引,列唯一性,不能为空 ,一个表中只有一个主键索引
27 添加索引:alter  table  表名  add  primary key(字段名)
28 alter  table  emp  add  primary key(sid)
29 ---------------------------------------------------------
30 删除索引:
31 1、删除主键索引
32 格式:alter  table  表名  drop  primary  key   
33 例题:alter  table emp  drop  primary  key ;
34 2、普通索引删除和唯一索引
35 格式:alter  table  表名  drop  INDEX  索引名
36 例题:alter  table  emp  drop  INDEX  age 
37 alter  table  dept  drop  INDEX  a 
38 create  创建索引
39 格式:create    index   索引名 on 表名(字段名)
40 例题:create    index   aa on dept(dept1)
41 多列创建:
42 create    index   aa on dept(字段名1,字段名2,字段名3,,,等)
43 3、建表时用索引
44 格式:create  table  aa(id  int(10) primary key ,name  varchar(20)  is  not null45 4、索引缺点:
46 4.1索引要占物理空间
47 4.2 对表进行增删改查,索引也要动态维护,降低数据的维护速度