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

相关内容

热门资讯

玩家必知教程"椰子大... 玩家必知教程"椰子大厅辅助脚本"开挂(软件)辅助软件详细教程-有挂秘籍;无需打开直接搜索打开薇:13...
终于知道"中至鹰潭脚... 您好:这款中至鹰潭脚本游戏是可以开挂的,确实是有挂的,很多玩家在这款中至鹰潭脚本游戏中打牌都会发现很...
揭秘攻略"微信财神十... 微信财神十三脚本是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微...
终于知道"八大碗辅助... 终于知道"八大碗辅助器app辅助"开挂(脚本)辅助脚本详细教程-有人有挂;无需打开直接搜索打开薇:1...
重大发现"摸一把游戏... 重大发现"摸一把游戏跑得快辅助"开挂(安装)辅助安装详细教程-有挂实锤;亲,摸一把游戏跑得快辅助这款...
玩家必看科普"丽水茶... 玩家必看科普"丽水茶苑手机辅助"开挂(脚本)辅助脚本详细教程-有挂分析;无需打开直接搜索加薇1367...
玩家必看教程"白金岛... 玩家必看教程"白金岛手游辅助本平台"开挂(工具)辅助工具详细教程-有挂透明挂;无需打开直接搜索加(薇...
终于清楚"建德十三道... 终于清楚"建德十三道辅助"开挂(安装)辅助安装详细教程-竟然有挂;打开点击测试直接进入微信(1367...
推荐一款"葫芦娃手游... 您好:葫芦娃手游辅助脚本这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的...
普及知识"德普之星辅... 普及知识"德普之星辅助器怎么用"开挂(平台)辅助平台详细教程-有挂方法;无需打开直接搜索微信(136...