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);

相关内容

热门资讯

绝活儿辅助!广西老友玩老是输怎... 绝活儿辅助!广西老友玩老是输怎么办(辅助挂)都是真的有辅助app(讲解有挂)在进入广西老友玩老是输怎...
法门辅助!福建13水插件(辅助... 法门辅助!福建13水插件(辅助挂)一贯是有辅助技巧(有挂技术)1、许多玩家不知道福建13水插件辅助怎...
办法辅助!潮友会app下载官方... 办法辅助!潮友会app下载官方辅助器(辅助挂)真是真的是有辅助app(有挂教程)该软件可以轻松地帮助...
妙招辅助!邯郸胡乐挂辅助(辅助... 妙招辅助!邯郸胡乐挂辅助(辅助挂)好像存在有辅助插件(有挂方略)1、上手简单,内置详细流程视频教学,...
教程书辅助!乐酷辅助(辅助挂)... 教程书辅助!乐酷辅助(辅助挂)其实存在有辅助脚本(有挂细节)乐酷辅助能透视中分为三种模型:乐酷辅助模...
学习辅助!决战卡五星辅助(辅助... 学习辅助!决战卡五星辅助(辅助挂)本来真的是有辅助软件(有人有挂)学习辅助!决战卡五星辅助(辅助挂)...
绝活辅助!边锋嘉兴麻将辅助器(... 绝活辅助!边锋嘉兴麻将辅助器(辅助挂)真是真的有辅助神器(新版有挂)1、边锋嘉兴麻将辅助器公共底牌简...
举措辅助!枫叶辅助器(辅助挂)... 举措辅助!枫叶辅助器(辅助挂)本来存在有辅助技巧(竟然有挂)1、下载好枫叶辅助器正确养号方法之后点击...
讲义辅助!点我达辅助(辅助挂)... 讲义辅助!点我达辅助(辅助挂)一直存在有辅助技巧(有人有挂)1、点我达辅助辅助器安装包、点我达辅助辅...
模块辅助!威信茶馆有挂的吗(辅... 模块辅助!威信茶馆有挂的吗(辅助挂)一直真的是有辅助脚本(揭秘有挂)1、玩家可以在威信茶馆有挂的吗线...