肖sir__mysql之索引__010

news2024/9/30 23:36:23

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 emp add index sym(age);
截图:
在这里插入图片描述

在这里插入图片描述

b、格式: 索引名和字段名(相同)
案例: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 )

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1025169.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

openGauss学习笔记-72 openGauss 数据库管理-创建和管理分区表

文章目录 openGauss学习笔记-72 openGauss 数据库管理-创建和管理分区表72.1 背景信息72.2 操作步骤72.2.1 使用默认表空间72.2.1.1 创建分区表(假设用户已创建tpcds schema)72.2.1.2 插入数据72.2.1.3 修改分区表行迁移属性72.2.1.4 删除分区72.2.1.5 增…

java学习--day6(数组)

文章目录 day5作业今天的内容1.数组1.1开发中为啥要有数组1.2在Java中如何定义数组1.3对第二种声明方式进行赋值1.4对数组进行取值1.5二维数组【了解】1.6数组可以当成一个方法的参数【重点】1.7数组可以当成一个方法的返回值1.8数组在内存中如何分配的【了解】 2.数组方法循环…

一文轻松实现在VSCode中编写Go代码

1.下载并安装VSCode VSCode(Visual Studio Code)是一款免费且功能强大的开源代码编辑器。VSCode适用于Windows、macOS和Linux操作系统,提供了丰富的编辑功能,包括语法高亮、智能代码补全、代码导航、重构支持、代码片段、多光标编…

windows常见的命令行操作

1.查看网络 ipconfig 2.根据任务id关闭进程 1.模糊搜索服务 tasklist | findstr QQ 2.根据模糊搜索结果,获取对应的pid taskkill /F /PID 5128 其他常见命令 若不清楚参数,使用(命令 /?)即可查看help

APP不存在,AK有误请检查再重试。详情查看: http://lbsyun.baidu.com/apiconsole/key

近期网站报百度地图无法使用情况,请参考百度提示的详情操作。 提示1: 提示2: 创建并复制AK教程:获取百度地图AK-易优CMS

看我72变!教你最火的 AI 变身换脸

今天要向大家推荐一个超级实用的AI换脸 APP——好说AI !这款工具让你告别繁琐的修图流程,轻松几步就能生成完美照片。更重要的是,无需电脑,只要手机就能搞定! 从前,我们看着综艺和电视剧,幻想着…

【好书推荐】《用户画像:平台构建与业务实践》

文章目录 1. 内容简介2. 书籍目录3. 图文介绍4. 送书活动 在大数据时代,如何有效地挖掘数据价值并通过画像数据进行呈现,如何基于画像数据构建平台功能并提高业务产出,是值得各类公司和业务人员思考并付诸实践的事情。通过画像释放大数据价值…

项目运行报错:error:0308010C:digital envelope routines::unsupported

node版本升到18之后,运行老项目报错 运行命令:npm run dev 解决办法: 第一步:在运行命令中补充set NODE_OPTIONS–openssl-legacy-provider & 第二步:如果依然报错,在终端中运行set NODE_OPTIONS–ope…

电视盒子什么品牌好?数码小编盘点网络电视盒子排行榜

电视盒子什么品牌好?每个品牌的优势并不一样,我们要根据自己的需求选择,看视频选无广告的,投屏频繁选投屏功能完善的,不懂的新手们可以参考小编分享的网络电视盒子排行榜,堪称目前最专业权威的电视盒子排名…

逻辑漏洞挖掘之XSS漏洞原理分析及实战演练 | 京东物流技术团队

一、前言 2月份的1.2亿条用户地址信息泄露再次给各大公司敲响了警钟,数据安全的重要性愈加凸显,这也更加坚定了我们推行安全测试常态化的决心。随着测试组安全测试常态化的推进,有更多的同事对逻辑漏洞产生了兴趣,本系列文章旨在…

2023年Gartner新技术与AI成熟度曲线

1. Gartner 将生成式 AI 置于 2023 年新技术成熟度曲线的顶峰,新兴人工智能将对商业和社会产生深远影响 根据 Gartner, Inc. 2023 年新兴技术成熟度曲线,生成式人工智能 (AI) 处于成熟度曲线期望的顶峰,预计将在两到五年内实现转型效益。生成…

Vue.js基础语法下

🎬 艳艳耶✌️:个人主页 🔥 个人专栏 :《Spring与Mybatis集成整合》《springMvc使用》 ⛺️ 生活的理想,为了不断更新自己 ! 1、事件处理器 1.1. 概述 在Vue中,事件处理器是用来处理DOM事件的方法。它可…

230920_整合微信支付宝支付

整合微信支付宝支付 一. 微信支付1. 支付中心_订单表Orders结构2. 微信支付时序图2.1 参考文档2.2 二维码支付时序图 一. 微信支付 1. 支付中心_订单表Orders结构 2. 微信支付时序图 2.1 参考文档 微信支付开发文档首页微信_native二维码支付文档微信支付文档 2.2 二维码支…

全链路自动化测试

背景 从 SOA 架构到现在大行其道的微服务架构,系统越拆越小,整体架构的复杂度也是直线上升,我们一直老生常谈的微服务架构下的技术难点及解决方案也日渐成熟(包括典型的数据一致性,系统调用带来的一致性问题&#xff…

【Linux】【网络】应用层协议:HTTPS

文章目录 HTTPS1. 加密方式2. 数据摘要 \ 数据指纹3. 数字签名 HTTPS 的 工作过程HTTPS 工作过程中的密钥 HTTP HTTPS HTTP(HyperText Transfer Protocol): 是客户端浏览器或其他程序与 Web 服务器之间的应用层通信协议。 HTTPS&#xff0…

创建一个普通的vue项目

1.用HbuilderX工具开发,新建项目时选择vue2.6.10 2.点击新建终端,输入npm run serve命令 3.vue项目配置elementui 可以按照官方方法使用npm i element-ui -S命令进行安装 在main.js配置3行,且要在最前面 1.import ElementUI from ‘elemen…

什么是VLAN?VLAN是如何工作的?

【微|信|公|众|号:厦门微思网络】 VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。 每个VLAN是一个广播域,VLAN内的主机间可以直接通信,而VLAN间则…

解锁搜索新境界!让文本语义匹配助你轻松找到你需要的一切!(快速上手baseline)

解锁搜索新境界!让文本语义匹配助你轻松找到你需要的一切!(快速上手baseline) 实现了多种相似度计算、匹配搜索算法,支持文本、图像,python3开发,pip安装,开箱即用。 文本相似度计算(文本匹配&…

【图像去噪】【TGV 正则器的快速计算方法】通过FFT的总(广义)变化进行图像去噪(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

jedis实现分布式锁案例:

一、redis配置类: import lombok.Data; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration;Configuration Data public class JedisConfig {Value("${spring.redis.host}")priv…