SQL-索引详细介绍
创始人
2025-01-07 03:36:37
0

前提

本篇博客,主要讲述 

1索引是什么

2 索引的分类

3 索引的创建 和删除

4 查询 表中的索引

5 索引的具体应用

1 索引的含义

含义:数据库索引是一种提高数据库系统性能的方法。索引能让数据库服务器更快地查找和获取表中指定的行。

2 索引分类

  • 单例索引:一个索引只包含单个列,但一个表中可以有多个单列索引;

    • 普通索引:仅加速查询 最基本的索引,没有任何限制,是我们大多数情况下使用到的索引
    • 唯一索引:索引列中的值必须是唯一的,但允许为空值;
    • 主键索引:是一种特殊的唯一索引,不允许有空值。
  • 组合索引:在表的多个字段上创建的索引,只有在查询条件中使用了这些字段的左边字段时,索引才会被使用,使用组合索引时遵循最左前缀集合。

3  索引的创建 和删除

3.1 索引的创建

索引的创建有两种方式:一种是建表时创建,另一种是建表后创建。

普通索引

1 创表时创建普通索引
  1. CREATE table mytable(
  2. id INT NOT NULL,
  3. username VARCHAR(16) NOT NULL,
  4. INDEX [indexName] (username)
  5. );
2 建表后创建普通索引

语法: create  (unique )  index 索引的名字 on 表名(字段名); 或 alter table  表名  add  index ( unique) (字段名);

注意:当需要创建唯一索引时,要添加 unique

主键索引

主键索引:一般在建表时,创建,会设为 int  而且是 AUTO_INCREMENT自增类型的,例如一般表的id字段。

组合索引

组合索引:组合索引就是在多个字段上创建一个索引。(应用场景:当表的行数远远大于索引键的数目时,使用这种方式可以明显加快表的查询速度)

3.2 删除索引

删除索引 有两种方式

1 使用 drop 删除 索引

语法: drop index  索引名  on  表名;

2 使用 alter 删除索引

语法: alter  table 表名  drop   index  索引名;

注意:如果要删除主键索引,语法格式:alter table table_name drop primary key ; #删除主键索引

4 查询表中的索引

语法: show index from 表名;

5 索引的具体应用(投歌-数据库部分作业)

第1关 创建一般索引

代码如下

create index  idx_sname on student(sname asc);

第2关 删除索引

代码如下

drop index  idx_sname  on student ;

还有另外一种写法: 

alter  table student drop   index  idx_sname;

第3关 创建联合索引

 代码如下

create index idx_sname_sdept on student(sname,sdept);

第4关:创建唯一索引

代码如下

create  unique index  uk_cname on course (cname);

代码如下

#1.创建名为pk_student的主键索引

create table student(

    stu_id int not null,

    name varchar(25) not null,

    age int not null,

    sex char(2) not null,

    classes int not null,

    grade int not null,

    primary key(stu_id)

);

#2.创建名为idx_age的普通索引

create index idx_age on student(age);

#3.创建名为uniq_classes的唯一索引

create unique index uniq_classes on student(classes);

#4.创建名为idx_group的组合索引

create index idx_group on student(name,sex,grade);

相关内容

热门资讯

一分钟教你!广东雀神外 挂(一... 一分钟教你!广东雀神外 挂(一贯真的是有挂)详细透视辅助教程1.广东雀神外 挂 ai辅助创建新账号,...
微扑克辅助器ios!微扑克网页... 微扑克辅助器ios!微扑克网页版辅助,微扑克真的有挂存在(都是真的是有挂);无聊就玩这款微扑克真的有...
重大来袭!都莱罗松(本来真的是... 重大来袭!都莱罗松(本来真的是有挂)详细透视辅助教程1、打开软件启动之后找到中间准星的标志长按。2、...
微扑克辅助软件!微扑克有挂(透... 微扑克辅助软件!微扑克有挂(透明挂)好像是有挂1、微扑克系统规律教程、微扑克辅助透视等服务,为用户提...
玩家必知教程!金州水鱼辅助工具... 玩家必知教程!金州水鱼辅助工具(一贯是真的有挂)详细辅助教程所有人都在同一条线上,像星星一样排成一排...
最新技巧!!福建众娱软件有没有... 最新技巧!!福建众娱软件有没有辅助(透明挂)透明挂透视辅助脚本(2023已更新)(哔哩哔哩);福建众...
科普分享!心悦填大坑总输怎么回... 科普分享!心悦填大坑总输怎么回事(确实有挂)详细透视辅助教程1、心悦填大坑总输怎么回事系统规律教程、...
分享认知!柳州天天爱麻将有挂吗... 分享认知!柳州天天爱麻将有挂吗(透视)透明挂透视辅助脚本(2023已更新)(哔哩哔哩);1、金币登录...
记者揭秘!衢州都莱十三道辅助器... 记者揭秘!衢州都莱十三道辅助器(切实是有挂)详细辅助教程1、衢州都莱十三道辅助器ai机器人多个强度级...
玩家必知教程!!卡农斗牛辅助最... 玩家必知教程!!卡农斗牛辅助最新版本(透视)透视脚本辅助插件(2021已更新)(哔哩哔哩)运卡农斗牛...