MySQL索引

2024-04-13  本文已影响0人  李小二的倔强

一、索引_概念和作用

1).概念:它就类似于图书的"目录",使数据库软件通过"索引"可以非常快的查找到所需的数据。
2).作用:加快查询速度

二、索引_分类及创建和删除

A).查看索引:show index from 表名;
B).索引分类、创建、删除:
    1).主键索引:必须唯一、非空:当创建"主键约束"时,数据库会自动创建一个"主键索引"
        1).创建方式一:创建表-创建主键
            create table student(
                id int primary key auto_increment,
                name varchar(200)
            )
        2).创建方式二:修改表-添加主键(同时会自动添加主键索引)
            alter table 表名 add primary key (列名);
        3).删除主键:(同时删除主键索引)
            alter table 表名 drop primary key;

    2).唯一索引:必须唯一,允许有NULL
        1).创建方式一:创建表-设置"唯一约束"
            create table student(
                id int primary key auto_increment,
                name varchar(100) unique    #此列会自动创建一个"唯一索引",索引名就是字段名。
            )
        2).创建方式二:修改表-添加唯一约束
            alter table 表名 add unique (列名);//添加唯一约束,同时添加唯一索引
        3).创建方式三:添加索引
            create unique index [索引名] ON 表名 (字段名);//添加唯一索引,同时添加唯一约束
        4).删除唯一索引:
            alter table 表名 DROP INDEX 索引名/字段名;

    3).普通索引:
        1).创建方式一:
            create index 索引名 on 表名 (列名)
            例如:
            create index pname_index on product(pname);

        2).删除普通索引:
            alter table 表名 drop index 索引名;
            例如:
            alter table product drop index pname_index;

    4).全文索引:只有在MyISAM引擎支持
        
C).索引的其它说明:
    1).对于经常出现在where和order by 以及group by 中的字段可以建立索引。
    2).对于有索引的表,会影响添加、删除数据的效率。
上一篇下一篇

猜你喜欢

热点阅读