首页 > 数据库 >第13课—数据库之索引

第13课—数据库之索引

时间:2024-10-30 10:08:58浏览次数:4  
标签:INDEX 13 数据库 索引 add 表名 table 字段名

一、索引的介绍
1、什么是索引?

(1)定义:索引是一种数据结构

一个索引在存储的表中的数据结构;

(2)索引是在表的字段上创建的

(3)索引包含了一列值,这个值保存在一个数据结构中

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

3、索引的缺点?

(1)索引要占物理内存

(2)索引对表进行增删改查,索引要动态维护,降低数据的维护速度

4、索引的分类

(1)普通索引

index 简称 mul 最基本的索引,没有任何限制

(2)主键索引

primary key 简称 pri 是一种唯一索引,不能为空

(3)唯一索引

unique 简称 uni 是一种唯一索引,可为空,一个表中可以有多个唯一索引


以下作为了解:

(4)全文索引
(5)组合索引
(6)单列索引
(7)聚焦索引
(8)非聚焦索引

==========================================

二、索引的应用

1、索引的查询

方法一:
格式1:
格式:show INDEX from 表名;

案例:show INDEX from emp ;

方法二:

格式:show keys from 表名;

案例:show KEYS from student2 ;

2、查看表结构,通过表结构查看索引
desc 表名

3、创建普通索引

第一种情况:索引名和字段名不一致

格式:ALTER table 表名 add INDEX 索引名(字段名);

案例:ALTER table student2 add INDEX sym(sex);

简写:mul、

第二种情况:索引名和字段名一致

格式:ALTER table 表名 add INDEX (字段名);

案例:ALTER table student2 add INDEX (age);


4、唯一索引(唯一,为空,在一个表可以有多个唯一索引)

单词:unique
简写:uni

第一种情况:添加唯一索引名和字段名不一致

格式:alter table 表名 add UNIQUE 索引名(字段名)

案例:
alter table student2 add UNIQUE aa(name)

第二种情况:添加唯一索引名和字段名一致

格式:alter table 表名 add UNIQUE (字段名)

案例:
alter table student2 add UNIQUE (name)

5、添加主键索引 (唯一,不能为空,一个表中只有一个主键)

单词:primary key 主键

简写:pri

格式:ALTER table 表名 add PRIMARY key (字段名) ;

案例:

ALTER table student2 add PRIMARY key (id) ;

6、删除索引:

(1)第一种情况:删除普通索引和唯一索引是通一种方法

格式:

alter table 表名 drop INDEX 索引名

案例:
alter table student2 drop INDEX aa;

(2)第二种情况:删除主键索引

格式:

alter table 表名 drop primary key;

案例:

alter table student2 drop primary key ;

===============================================

二、创建方法二(不常用)

格式:create INDEX 索引名 on 表名 (字段名)

案例:create INDEX aa on student2 (english)

===============================================

三、建表时创建索引

格式:

CREATE table 表名( 字段名 字段类型(字符长度) PRIMARY key ,字段名 字符类型(字符长度) UNIQUE )) ;

案例:

CREATE table wzx( id int(10) PRIMARY key ,name VARCHAR(20) UNIQUE ,age int(10)) ;


索引是对表的一列数据起到约束作用

===========================================

面试题:

1、什么是索引?

2、索引的作用

3、索引有哪些?

4、如何创建索引?

5、主键索引和唯一索引的区别?

标签:INDEX,13,数据库,索引,add,表名,table,字段名
From: https://www.cnblogs.com/weiyus1916/p/18515218

相关文章

  • XCVU13P板卡设计原理图:509-基于XCVU13P的4路QSFP28光纤PCIeX16收发卡
    基于XCVU13P的4路QSFP28光纤PCIeX16收发卡 一、板卡概述     基于XCVU13P的4路QSFP28光纤PCIeX16收发卡。该板卡要求符合PCIe3.0标准,包含一片XCVU13P-2FLGA2014I、4组64-bit/8GBDDR4;4路QSFP284X光纤,每路光纤支持4X25Gbps,双向;支持32路IO。板卡工作温度范围0到60℃,板......
  • Error infos: DedeCms错误警告:连接数据库失败,可能数据库密码不对或数据库服务器出错!
    使用FTP工具登录到网站根目录。导航至/data/common.inc.php文件。下载该文件到本地,使用代码编辑工具(如EditPlus或Dreamweaver)打开,不要使用记事本编辑。修改以下配置项,将其更改为您的实际数据库信息:$cfg_dbhost='localhost';//数据库服务器地址$cfg_dbname='your_......
  • Dedecms备份的数据文件位置及备份数据库的方法
    备份数据文件的位置Dedecms备份的数据库文件通常保存在以下目录中:  /dede/backup_data/用织梦DEDECMS后台备份数据库的方法第一种方法登录原站后台登录到您的Dedecms后台管理界面。备份数据库进入“系统”->“数据库备份/还原”。选择需要备份的表,建议......
  • 网站程序调用数据库时提示“command denied to user”
    问题现象使用云虚拟主机搭建网站后,当网站程序调用数据库失败时,提示 XXXcommanddeniedtouser,通常在执行 INSERT 和 UPDATE 操作时出现。可能原因数据库空间已满:当数据库的空间已满时,无法执行写入操作,如 INSERT 和 UPDATE。解决方案登录云虚拟主机管理页面打......
  • 连接云虚拟主机中MySQL数据库时出现“Too many connections”报错信息
    在使用云虚拟主机过程中,当尝试连接MySQL数据库时,可能会遇到以下错误信息:  CannotconnecttoMySQLserverError:Toomanyconnections这表示MySQL数据库服务器当前的连接数已经达到了最大限制,无法处理更多的连接请求。可能原因应用程序未及时释放连接:应用程序在......
  • PbootCMS 模板提示未检测到您服务器环境的sqlite3数据库扩展
    错误信息:未检测到您服务器环境的sqlite3数据库扩展,请检查php.ini中是否已经开启该扩展!另外,检测到您服务器支持pdo_sqlite扩展,您也可以修改数据库配置连接驱动为pdo_sqlite试试!解决方法:1.**第一种方法**:把数据库配置连接驱动改为pdo_sqlite-打开数据库配置文件`/apps/co......
  • 13. 分组数据
    1.数据分组分组允许把数据分为多个逻辑组,以便能对每个组进行聚集计算2.创建分组分组是在SELECT语句的GROUPBY子句中建立的。比如:selectvend_id,count(*)asnum_prodsfromproductsgroupbyvend_id;输出如下:上面的SELECT语句指定了两个列,vend_id包含产品供应商的......
  • 13.Java的IO流
    文件概念文件:保存数据的地方。文件流:文件在程序中是以流的形式来操作的。流:数据在数据源(文件)和程序(内存)之间经历的路径。输入流:数据从数据源(文件)到程序(内存)的路径。输出流:数据从程序(内存)到数据源(文件)的路径。常用操作构造方法方法说明File(Fileparent,......
  • P9131 [USACO23FEB] Problem Setting P 题解
    P9131[USACO23FEB]ProblemSettingP题解注意到最终形成的困难序列是一个不断包含的子集的关系,包含是非严格单调的,考虑转化为单调的形式易于计数dp。具体地,对于一些相同的困难值\(i\),算出其内部排列数\(g(i)\),于是转化成了单调的dp形式。于是实际上计算\(dp_{i}\)表示......
  • 20222413 2024-2025-1 《网络与系统攻防技术》实验三实验报告
    1.实验内容1.1学习总结本周的学习内容为恶意代码的概念、发展历史以及分析技术。我知晓了恶意代码的不同类型及其典型案例、攻击方式和危害。同时我了解了静态分析和动态分析所采用的技术方法。1.2实践内容(1)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或......