MySQL索引类型和创建索引的方式

一、索引类型

1、普通索引:基本索引,没有任何限制

2、唯一索引:唯一索引是不允许其中任何两行具有相同索引值的索引,可以有NULL值

3、主键索引:数据库中表经常有一列或列组合,其值唯一标识表中的每一行。该列称为表的主键。在表中定义主键将自动创建主键索引,主键索引是唯一索引的特定类型。不能为NULL值,一个表只能有一个primary key索引。

4、全文索引 

二、创建索引(三种方式)

1、适用于表创建完毕之后再添加,可以添加的类型有:unique、primary key、index、 fulltext

 ALTER  TABLE  table_name  ADD  INDEX  'index_name'('column_name');

 ALTER   TABLE  table_name  ADD  UNIQUE  'index_name'('column_name');

 ALTER   TABLE  table_name  ADD  PRIMARY KEY  'index_name'('column_name');

 ALTER   TABLE  table_name  ADD  FULLTEXT KEY  'index_name'('column_name');

 

2、对表增加普通索引或unique索引(只能添加这两种)

CREATE INDEX 'index_name' ON  table_name('column_name');

CREATE UNIQUE INDEX 'index_name' ON  table_name('column_name');

 

3、在建表时添加索引

 CREATE TABLE 'test1'(

'id'  smallint(5) unsigned auto_increment not null,

'username' varchar(64) not null comment '用户名',

'nickname'  varchar(50) not null comment '昵称',

'intro'  text,

primary key('id'),

unique key 'unique1'('username'),

key  'index'('nickname'),

fulltext key 'intro'('intro')

)engine=MyISAM  auto_increment=4 default charset=utf-8

 

删除索引

1、ALTER TABLE 'table_name'  DROP INDEX 'index_name';

2、DROP INDEX 'index_name' on 'table_name'

删除主键索引

ALTER TABLE 'table_name' DROP primary key;

查看索引

show  index from table_name;

 

*如果从表中删除某列,则索引会受影响。对于多列组合的索引,如果删除其中的某列,则该列也会从索引中删除。如果删除组成索引的所有列,则整个索引将被删除。

索引的优缺点:1、索引可以加快查询速度  2、同样会降低写速度   3、表中索引越多,表的体积越大,占用的磁盘空间越大。

所以并不是索引数量越多越好。

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值