• 肖sir__mysql之索引__010


    mysql之索引
    一、什么是索引?
    索引是一种数据结构设计
    一个索引是存储的表中数据结构;
    索引是建立在表字段上,
    索引包含了一列值,这个值保存在一个数据结构中

    二、索引作用
    1、保证数据记录的唯一性
    2、实现表与表之间的参照性
    3、减少排序和分组的时间 ( order by 或group by 查询语句进行检索 )
    4、可以引用索引快速访问数据库中特定信息

    三、索引的缺点
    1、索引要占物理内存
    2、索引对表进行增删改查,索引要动态维护,降低数据的维护速度

    四、索引分类
    1、普通索引
    2、主键索引
    3、唯一索引
    拓展:
    全文索引、组合索引、单列索引、聚焦索引、非聚焦索引

    五、索引的实战

    1、索引的查询方法
    (1)
    格式:show index from 表名
    案例:show index from sy ;
    在这里插入图片描述

    (2)
    格式:show keys from 表名
    案例:show keys from sy ;
    在这里插入图片描述

    (3)
    格式:desc 表名
    案例:

    在这里插入图片描述
    在这里插入图片描述

    2、创建索引
    (1)创建普通索引
    单词:indesx(简写:mul)
    定义:最基本的索引,没有任何限制
    a、格式: 索引名和字段名(不同)
    格式:alter table 表名 add index 索引名(字段名);
    案例:alter table emp add index sym(age);
    截图:
    在这里插入图片描述

    在这里插入图片描述

    b、格式: 索引名和字段名(相同)
    格式:alter table 表名 add index (字段名);
    案例:alter table emp add index (dept2);
    截图:
    在这里插入图片描述
    (2)创建主键索引
    单词:primary key 简称pri 保证字段:唯一,不能为空,一个表中只有一个主键
    格式:
    alter table 表名 add primary KEY(字段名)
    案例:
    alter table emp add primary KEY(sid)
    截图:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    (3)唯一索引
    单词:unique 简称:nui 保证唯一,可以为空,一个表中可以有多个唯一
    a、唯一索引中的外键名和字段名不同(不相同)
    格式:alter table 表名 add unique 外键名(索引名) ;
    案例:alter table sy add unique wy(age) ;
    在这里插入图片描述
    a、唯一索引中的外键名和字段名(相同)
    格式:alter table 表名 add unique (字段名) ;
    案例:alter table sy add unique (sex) ;
    在这里插入图片描述
    4、删除索引

    一、删除普通索引和唯一索引方法
    格式:
    alter table 表名 drop index 索引名;
    案例:
    alter table sy drop index sex;
    截图:
    在这里插入图片描述

    二、删除主键索引方法
    格式:alter tbale 表名 drop primary key
    案例:
    alter tbale sy drop primary key
    截图:
    在这里插入图片描述

    二、建表时添加索引
    格式:create table 表名( 字段1 字段类型(字段长度) primary key , 字段1 字段类型(字段长度) unique )
    案例:create table cc( id int(10) PRIMARY key ,
    sid int(10) unique , name varchar(20) not null ,age int(10) DEFAULT 18 ,sex int(10))DEFAULT charset=utf8

    建表创建普通索引:
    案例:
    create table nn (id int(10) , index sym(id),name varchar(20) not null );
    截图:
    在这里插入图片描述

    ===============================================
    面试题:
    1、索引是什么?
    2、索引作用?
    3、如何创建索引?
    4、如何删除索引?
    5、主键索引和唯一索引的区别?
    都是表示唯一:
    主键: 不能为空,一个表中只有一个主键索引
    唯一: 能为空,一个表中可有多个唯一索引

  • 相关阅读:
    前端实现websocket通信讲解(vue2框架)
    3D游戏角色动画
    渗透学习-靶场篇-XSS之订单与shell箱子反杀
    【无标题】
    证券企业基于华为全闪存存储实践经验分享
    Java序列化为什么必须实现 Serializable 接口
    volatile-可见性案例详解
    基于Java+Spring+Strusts2+Hibernate 社区智慧养老服务平台 系统设计与实现
    制作linux下grup启动背景图片
    JavaScript-对象、类与面向对象编程(理解对象)
  • 原文地址:https://blog.csdn.net/m0_47403059/article/details/132920876