找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
索引

索引的作用 (重点)

1·快速读取数据

2·保证数据的唯一性

3·时间表与表之间的参照完整性

4·在使用 order by ,group by 子句去进行索引时,索引可以减少排序和分组的时间

优点:

1·大大加快数据的检索速度

2·创建唯一性索引,保证数据库中的每一行数据的唯一性

3·加速表与表之间的连接

4·在使用分组和排序进行检索时,可以显著的减少查询的时间

缺点:

1·索引占物理空间

2·当对表中的数据进行增加,删除和修改的时候,索引也要动态的维护,降低了数据的维护速度


3.1 普通索引 ----创建后不会对字段有任何约束,可以为空,或是不为空

index==索引的意思

创建普通索引:

greate index a on aa (id); 给aa表中的id字段创建了一个普通索引

查询索引:

show index from aa; 查询aa表中有哪些索引

删除索引:

alter table aa drop index a; 删除a表中的索引


3.2 唯一索引---值不能相同,可以为空

创建普通索引 unique index

create unique index a on aa(id); 给aa表中创建一个唯一索引

查询索引:

show index from aa; 查询aa中有哪些索引

删除索引:

alter table aa drop index a; 删除aa表中的索引


3.3 主键索引----不能为空,不能相同(常见),表里只能有一个主键

创建表的时候增加主键:create table aa (id int(3)primary key);

表已经创建ok增加主键:alter table aa change id id int(4)primary key;

alter table aa add primary key(id);

查询索引:

show index from aa;

删除索引:

alter table aa drop primary key;


普通索引,唯一索引,主键索引的区别??

1·普通唯一索引再表中是可以有多个存在的(但是一般不会这样做)

2·主键索引再表中只能有一个

3·普通索引没有任何约束,唯一值不能相同但是可以为空

主键索引---不能为空,不能相同


1、vim /etc/my.cnf====》在linux交互界面中输入该命令编辑mysql配置文件

2、配置详情如下:[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockuser=mysql# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0lower_case_table_names=1character-set-server=utf8[mysqld_safe]log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid[client]default-character-set=utf8[mysql]default-character-set=utf8

3、以上为配置后的文件内容,新增内容如下

①、在[mysqld]里面添加:character-set-server=utf8

②、新建[client]后添加:default-character-set=utf8

③、新建[mysql]后添加:default-character-set=utf84、

编辑配置文件后重启数据库生效:service mysqld restart

5、在服务器或者navicat创建表时需要在创表的语句最后加上default charset='utf8',

如下所示:

create table pp(id int,name varchar(20))default charset='utf8';

分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册