YY滴《数据库系列》
文章平均质量分 86
从0开始学数据库
YY的秘密代码小屋
一个讨厌学习的CSDN2023博客之星TOP194,阿里云专家博主,华为云云享专家~
展开
-
【MySQL】插入优化篇——(少量插入数据优化&批量插入数据load指令)
一.插入数据优化1.批量插入【1】需要大批量插入数据——load指令2.手动提交事务3.主键顺序插入原创 2024-09-01 01:17:18 · 1281 阅读 · 3 评论 -
【MySQL】主键优化原理篇——【数据组织方式&主键顺序插入&主键乱序插入&页分裂&页分裂】
一.主键优化1.主键设计原则2.数据组织方式【1】主键顺序插入【2】页分裂(主键乱序插入)【3】页合并(主键乱序删除)原创 2024-09-01 01:14:44 · 823 阅读 · 0 评论 -
【MySQL】索引使用规则——(覆盖索引,单列索引,联合索引,前缀索引,SQL提示,数据分布影响,查询失效情况)
一.索引使用规则※.验证索引效率提升1.覆盖索引——查询使用了索引,并且需要返回的列,在该索引中已经全部能够找到2.单列索引&联合索引3.前缀索引——解决冗长字符串与索引问题【1】前缀索引&索引选择性的介绍【2】前缀索引创建演示:5.SQL提示——指定某个索引/忽略索引/强制索引6.数据分布影响——MySQL自我评估7.查询失效的几种情况【1】违背——最左前缀法则(联合索引)【2】范围查询右侧失效【3】用or分割开的条件,or后面没索引,所有索引失效【4】索引列上进行运算操作,索引原创 2024-08-31 23:40:08 · 1536 阅读 · 0 评论 -
【MySQL】索引性能分析工具详解——>为sql优化(select)做准备
一.索引性能分析工具——>为sql优化(select)做准备1.查看SQL执行频次【1】为什么要关注执行频率【2】查看SQL执行频次语法&演示2.慢查询日志【1】慢查询日志机理机理&作用&语法【2】演示:查看慢查询日志开关是否开启【2】演示:Linux中配置慢查询日志【3】演示:实时监测慢查询日志3.profiles详情——(解决慢查询日志--自定义问题)【1】慢查询日志机理机理&作用&语法【2】演示:打开profiles开关前后对比【3】演示:执行一系列的业务SQL的操作,然后通过原创 2024-08-31 23:35:07 · 1803 阅读 · 0 评论 -
【MySQL-24】万字全面解析<索引>——【介绍&语法&性能分析&使用规则】
1.查看SQL执行频次【1】为什么要关注执行频率【2】查看SQL执行频次语法&演示2.慢查询日志【1】慢查询日志机理机理&作用&语法【2】演示:查看慢查询日志开关是否开启【2】演示:Linux中配置慢查询日志【3】演示:实时监测慢查询日志3.profiles详情——(解决慢查询日志--自定义问题)【1】慢查询日志机理机理&作用&语法【2】演示:打开profiles开关前后对比【3】演示:执行一系列的业务SQL的操作,然后通过profile查看指令的执行耗时/各个阶段耗时/CPU使用情况:4.explain原创 2024-08-30 22:21:03 · 1817 阅读 · 1 评论 -
【MySQL-26】万字总结<SQL优化>——【插入优化 主键优化 order by优化-group by优化-limit优化-count优化-update优化】
一.插入数据优化1.批量插入【1】需要大批量插入数据——load指令2.手动提交事务传送门3.主键顺序插入二.主键优化1.主键设计原则2.数据组织方式【1】主键顺序插入【2】页分裂(主键乱序插入)【3】页合并(主键乱序删除)三.order by优化1.覆盖索引index与filesort2.联合索引在创建时的规则(ASC/DESC)【1】没有索引时的升序降序——创建索引(有无)指定顺序【2】演示代码四.group by优化五.limit优化(覆盖索引加子查询形式&多表联查)六.count优化七.update原创 2024-08-30 22:09:16 · 1407 阅读 · 0 评论 -
【MySQL】一文带你理清InnoDB引擎的<内部架构>(内存结构,磁盘结构,后台线程)
一.架构1.内存结构1.缓冲池:Buffer Pool2.更改缓冲区:Change Buffer.自适应哈希索引:Adaptive Hash index4.日志缓冲区:Log Buffer2.磁盘结构1.系统表空间:System Tablespace2.表的独立表空间:File-Per-Table Tablespaces3.通用表空间GeneralTablespaces4.撤销表空间:Undo Tablespaces5.临时表空间:Temporary Tablespaces6.双写缓冲区原创 2024-08-25 21:24:15 · 1085 阅读 · 0 评论 -
【MySQL】一文带你理清<行级锁>(行锁,间隙锁,临键锁)
【1】【行锁】(共享锁,排他锁)1.共享锁,排他锁机制介绍2.不同SQL下,行锁的情况3.演示行锁【1】情况1【2】情况2【2】【临键锁S】【间隙锁】演示※【临键锁S】【间隙锁】特性演示目录1.演示:索引上的等值查询 (唯一索引,例如主键索引)2.演示:索引上的范围查询(唯一索引)3.演示:索引上的等值查询(普通索引)——临键锁退化为间隙锁原创 2024-08-25 21:19:54 · 1492 阅读 · 0 评论 -
【MySQL】一文带你理清<表级锁>(表锁,元数据锁,意向锁)
一.表级锁表级锁的基本概念&分类【表锁,元数据锁,意向锁】【1】表锁【2】元数据锁:MDL【3】意向锁1.意向锁的由来2.意向锁的相关语法(意向共享锁&意向排他锁)(包含语法和演示)原创 2024-08-25 21:14:14 · 1051 阅读 · 0 评论 -
【MySQL-25】万字总结<锁>——(全局锁&行级锁&表级锁)【共享锁,排他锁】【间隙锁,临键锁】【表锁,元数据锁,意向锁】
※锁的总结(前瞻)一.锁的概述&分类二.全局锁1.全局锁的基本概念&画图演示三.行级锁行级锁的基本概念&分类(行锁 = 临键锁-见隙锁)【1】【行锁】(共享锁,排他锁)1.共享锁,排他锁机制介绍2.不同SQL下,行锁的情况3.演示行锁【1】情况1【2】情况2【2】【临键锁S】【间隙锁】演示※【临键锁S】【间隙锁】特性演示目录1.演示:索引上的等值查询 (唯一索引,例如主键索引)2.演示:索引上的范围查询(唯一索引)3.演示:索引上的等值查询(普通索引)——临键锁退化为间隙锁四.表级锁表级锁的基本概念&分类【原创 2024-08-23 06:55:30 · 932 阅读 · 4 评论 -
【MySQL-23】万字总结<InnoDB引擎>——【逻辑存储结果&架构(内存结构,磁盘结构,后台线程)&事务原理&MVCC】
总结/概要一.逻辑存储结构二.架构1.内存结构1.缓冲池:Buffer Pool2.更改缓冲区:Change Buffer3.自适应哈希索引:Adaptive Hash index4.日志缓冲区:Log Buffer2.磁盘结构1.系统表空间:System Tablespace2.表的独立表空间:File-Per-Table Tablespaces3.通用表空间:GeneralTablespaces4.撤销表空间:Undo Tablespaces5.临时表空间:Temporary Tablespaces6.原创 2024-08-20 21:50:02 · 1534 阅读 · 0 评论 -
【MySQL-22】存储引擎入门---必备知识体系总结(适合计算机相关方向初学者)
一.MySQL体系结构二.存储引擎简介&相关语法存储引擎的相关语法:查询建表语句&查询当前数据库支持的存储引擎&创建表指定存储引擎三.各种存储引擎的特点1.InnoDB存储引擎特点&逻辑存储结构三个方面特点:文件与磁盘相关:逻辑存储结构2.MyISAM的特点&涉及到的文件类型四个方面特点:涉及到的文件类型(.sdi .MYD .MYI)3.Memory存储引擎特点&涉及到的文件类型两个方面特点:涉及到的文件类型(.sdi)4.InnoDB MyISAM Memory 对比总结【经典面试题:InnoDB和My原创 2024-08-12 11:00:31 · 926 阅读 · 0 评论 -
【MySQL-21】mysql的各种管理工具总结&日志文件详解(mysql2.mysqladmin3.mysqlbinlog4.mysqlshow5. mysqldump6.mysqlimport
管理工具前瞻&总结一.系统数据库介绍二.常用工具【客户端工具】1.【mysql】 客户端工具指定数据库itcast2.【mysqladmin】 管理操作工具(主要用于脚本中)查看版本信息3.【mysqlbinlog】 日志管理工具&二进制文件查看工具(主要用于运维中)查看binlog(二进制)文件4.【mysqlshow】 查看数据库、表、字段的统计信息工具查看所有数据库查看指定数据库db01 的全字段和特定字段5.【mysqldump】 数据备份/迁移 工具6.【mysqlimport / sourc原创 2024-07-29 02:13:19 · 896 阅读 · 3 评论 -
【MySQL-20】定义(创建&查看&删除) 触发器,将变更日志插入日志表中
一.触发器的介绍&类型二.触发器操作的相关语法【创建&查看&删除】三.定义触发器,完成如下需求通过触发器记录 tb_user 表的数据变更日志,将变更日志插入到日志表user l0g9中,包含增加,修改,删除;原创 2024-07-22 02:32:04 · 536 阅读 · 2 评论 -
【MySQL-18】存储过程各种需求实现合集-[进阶语法]-<if,参数(IN,OUT,INOUT),case,while,repeat,loop,游标cursor,条件处理程序handler>
一.if判断1.基本语法2.利用if判断,定义存储过程,完成如下需求二.存储过程参数(IN,OUT,INOUT)1.(IN,OUT,INOUT)基本介绍&语法2.存储过程参数(IN,OUT),定义存储过程,完成如下需求3.存储过程参数(INOUT),定义存储过程,完成如下需求三.case,while,repeat,loop循环1.case循环语法&定义存储过程完成需求2.while循环语法&定义存储过程完成需求3.repeat循环语法&定义存储过程完成需求4.loop循环语法&定义存储过程完成需求四.游标c原创 2024-07-19 23:07:06 · 1169 阅读 · 8 评论 -
【MySQL-19】一文带你了解存储函数
一.存储函数的语法二.定义存储函数,完成如下需求一般而言,存储函数用的很少,了解即可因为【存储函数】能做的【存储过程】也能做一.存储函数的语法存储函数是有返回值的存储过程,存储函数的参数只能是IN类型在Mysql8.0版本中,要描述特性(具体下面会提到)原创 2024-07-19 23:06:51 · 407 阅读 · 1 评论 -
【MySQL-17】存储过程-[变量篇]详解-(系统变量&用户定义变量&局部变量)
一.系统变量-【全局变量,会话变量】1.系统变量的分类2.系统变量的[默认问题]和[重启后重置问题]3.系统变量的[查看和设置]&代码演示二.用户定义变量1.用户定义变量的介绍2.用户定义变量无需【声明/初始化】,默认值为NULL3.用户定义变量的[赋值和使用]操作三.局部变量1.局部变量的介绍2.局部变量的[声明和赋值]操作原创 2024-07-19 07:45:10 · 1280 阅读 · 1 评论 -
【MySQL-16】存储过程-特点介绍&基本语法(创建-调用-查看-删除)
一.存储过程的基本介绍&特点二.存储过程的基本语法(创建-调用-查看-删除)1.语法简述2.代码演示三.主动设置命令行中的结束符【关键字-delimiter介绍】原创 2024-07-18 13:21:35 · 517 阅读 · 3 评论 -
用FinalShell登录VMware虚拟机上的Linux并安装mysql——datagrip登陆linux上的mysql
执行上述的SQL会报错,原因是因为设置的密码太简单,密码复杂度不够。我们可以设置密码的复杂度为简单类型,密码长度为4。默认的root用户只能当前节点localhost访问,是无法远程访问的,我们还需要创建一个root账户,用户远程访问。登录到MySQL之后,需要将自动生成的不便记忆的密码修改了,修改成自己熟悉的便于记忆的密码。降低密码的校验规则之后,再次执行上述修改密码的指令。然后输入上述查询到的自动生成的密码, 完成登录 .Linux的版本为 CentOS7;云服务器或者虚拟机都可以;原创 2024-05-14 17:43:58 · 1118 阅读 · 3 评论 -
Windows系统下干净卸载Mysql(防残留)
如果已将MySQL卸载,但是通过任务管理器—>服务,查看到MySQL服务仍然残留在系统服务里。win+R 打开运行,输入 services.msc 点击 “确定” 调出系统服务。数据存放目录是在 C:\ProgramData\MySQL,直接将该文件夹删除。打开控制面板 —> 卸载程序 —> 卸载MySQL相关所有组件。 sc delete 服务名称(如MySQL80) sc delete 服务名称(如MySQL80)这样可以实现删除服务。这样可以实现删除服务。原创 2024-05-14 16:47:38 · 771 阅读 · 0 评论 -
【MySQL】DQL-数据查询案例练习-DQL基本介绍&语法&执行顺序(代码演示)
DQL基本介绍&语法&执行顺序&验证执行顺序实验案例演示准备工作-表准备(必看!!!)一.DQL-案例练习按照需求完成如下DQL语句编写原创 2024-04-01 07:52:19 · 765 阅读 · 2 评论 -
【MySQL】分页查询-语法&注意事项&可cv例题语句
DQL基本介绍&语法&各种查询语句总览案例演示准备工作-表准备(必看!!!)一.DQL-分页查询语法&注意事项&可cv例题语句原创 2024-04-01 07:51:59 · 679 阅读 · 0 评论 -
【MySQL】排序查询-语法&排序方式&注意事项&可cv例题语句
DQL基本介绍&语法&各种查询语句总览案例演示准备工作-表准备(必看!!!)一.DQL-排序查询语法&排序方式&注意事项&可cv例题语句原创 2024-03-31 14:03:19 · 575 阅读 · 2 评论 -
【MySQL】分组查询-语法&where与having的区别&注意事项&可cv例题语句
--1.统计男性员工和女性员工的数量--2.根据性别分组,统计男性员工和女性员工的平均年龄--3.查询年龄小于45的员工,并根据工作地址分组,获取员工数量大于等于3的工作地址-- 取别名后进行分组后的过滤原创 2024-03-31 13:55:53 · 938 阅读 · 0 评论 -
【MySQL】聚合函数介绍&常见聚合函数&语法&注意事项&可cv例题语句
DQL基本介绍&语法&各种查询语句总览案例演示准备工作-表准备(必看!!!) 一.DQL-聚合函数介绍&常见聚合函数&语法&注意事项&可cv例题语句原创 2024-03-30 03:27:17 · 777 阅读 · 3 评论 -
【MySQL】条件查询语句全解(附带代码演示&案例练习)
DQL基本介绍&语法&各种查询语句总览※数据准备工作(必看)一.DQL-条件查询 语法&条件种类&可cv例题语句原创 2024-03-30 03:15:16 · 665 阅读 · 0 评论 -
【MySQL】基础查询-语句&演示(查询多个字段 / 所有字段/并设置别名/去重)
DQL基本介绍&语法&各种查询语句总览一.DQL-基础查询语句总览&注意事项1.查询多个字段 / 所有字段2.查询多个字段并设置别名3.查询多个字段并去重原创 2024-03-29 23:03:37 · 1597 阅读 · 0 评论 -
【MySQL-15】视图——语法盘点&特性介绍(7k字详解&经典代码样例演示)
一.视图的基本介绍:二.视图的基本语法:1.视图的【创建&查询&修改&删除】总览2.代码&样例演示三.视图的插入操作:1.基本插入操作演示2."检查选项"在插入操作时时的场景——[with local/cascaded check option]四.视图的检查选项1.演示cascaded【递归检查,检查选项方向继承】2.演示LOCAL【递归检查,检查选项不继承】五.视图更新的条件六.视图的作用1.本质是进行封装七.视图的案例需求练习原创 2024-05-09 23:28:51 · 1190 阅读 · 11 评论 -
【MySQL-14】一文解读【事务】-【基本操作/四大特性/并发事务问题/事务隔离级别】
一.事务简介二.事务操作(模拟转账失败)1.事务操作系列语法1-【查看/设置事务提交方式--提交事务--回滚事务】2.事务操作系列语法2-【开启事务--提交事务--回滚事务】※数据准备环节3.模拟转账失败-(方式一:修改事务提交方式为手动)4.模拟转账失败-(方式二:不修改事务提交方式,自动)三.事务四大特性(A-C-I-D)四.并发事务问题(脏读-幻读-不可重复读)基本概念一览1.脏读2.不可重复读3.幻读五.事务隔离级别1.事务隔离级别&要点2.查看/修改事务隔离级别语法3.用两个Mysql客户端模拟原创 2024-04-03 00:13:46 · 1159 阅读 · 6 评论 -
【MySQL-13】数据控制语言(DCL)--【管理用户&权限控制】 (语法语句&案例演示&可cv案例代码)
一.DCL-介绍1.DCL-介绍二.管理用户1.管理用户语法&注意事项&可cv代码 2.用户名与主机地址概念(案例演示)3.案例演示&案例可cv代码三.权限控制1.权限控制语法&注意事项&种类&可cv代码2.案例演示&可cv代码原创 2024-04-02 02:13:24 · 1162 阅读 · 0 评论 -
【MySQL-12】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
一.数据库函数的应用场景&常见函数盘点介绍1.函数基本概念2.常见函数一览3.数据库函数的应用场景二.字符串函数1.字符串函数盘点&语法2.调用字符串函数案例cv语句&substring注意点3.调用字符串函数效果演示4.需求练习三.数值函数1.数值函数盘点2.调用数值函数案例cv语句3.调用数值函数效果演示4.需求练习四.日期函数1.日期函数盘点2.调用日期函数案例cv语句3.需求练习五.流程控制函数1.流程控制函数盘点2.调用流程控制函数演示&“空串也算串”注意事项3.需求练习14.需求练习21.环境植原创 2024-04-02 02:13:36 · 954 阅读 · 1 评论 -
【MySQL-11】多表查询全解-【多表关系/内外自连接/子查询/多表查询案例链接】(可cv代码&案例演示)
查询员工的姓名、年龄、职位、部门信息。查询年龄小于30岁的员工姓名、年龄、职位、部门信息。查询拥有员工的部门ID、部门名称。查询所有年龄大于40岁的员工,及其归属的部门名称;如果员工没有分配部门,也需要展示出来。查询所有员工的工资等级。查询“研发部”所有员工的信息及工资等级。查询“研发部”员工的平均工资。查询工资比“灭绝”高的员工信息。查询比平均薪资高的员工信息。查询低于本部门平均工资的员工信息。查询所有的部门信息,并统计部门的员工人数。查询所有学生的选课情况,展示出学生名称,学号,课原创 2024-04-03 00:14:01 · 1326 阅读 · 5 评论 -
【MySQL-10】一文带你搞定 外键约束&其【更新/删除行为】(可cv代码&案例演示)
一.约束概述&约束关键字盘点分类&应用场景&多个约束注意事项二.约束演示(根据需求,完成表结构的创建)※用图形化界面工具一样可以设置约束三.外键约束的【添加 / 删除】操作1.外键约束概念&应用场景&外键约束添加语法2.外键约束【添加 / 删除 操作】(可cv语句)三.针对 外键约束【更新 / 删除 】的 on行为(可cv语句)1.行为一览&语法2.CASCADE级联演示3.用图形化界面工具添加行为原创 2024-04-01 16:17:52 · 1281 阅读 · 1 评论 -
【MySQL-9】数据查询语言(DQL)-查询语句全解 [ 基础/条件/分组/排序/分页查询 ](附带代码演示&案例练习)
1.查询年龄为20,21,22,23岁的员工信息。2.查询性别为男,并且年龄在20-40岁(含)以内的姓名为三个字的员工。3.统计员工表中,年龄小于60岁的,男性员工和女性员工的人数。4.查询所有年龄小于等于35岁员工的姓名和年龄,并对查询结果按年龄升序排序,如果年龄相同按入职时间降序排序。5.查询性别为男,且年龄在20-40岁(含)以内的前5个员工信息,对查询的结果按年龄升序排序,年龄相同按入职时间升序排序。原创 2024-03-31 13:51:38 · 1223 阅读 · 0 评论 -
【MySQL-8】数据操纵语言(DML)的表操作详解:添加数据&修改数据&删除数据(可cv例题语句)
一.DML基本介绍二.案例演示准备工作-表准备(必看!!!)三.DML-添加数据语句总览&注意事项1.给指定字段添加数据2.给全部字段添加数据3.批量添加数据(给 指定/全部 字段添加数据)四.DML-修改数据语句总览&注意事项1.修改数据五.DML-删除数据语句总览&注意事项1.删除数据原创 2024-03-29 22:09:25 · 1073 阅读 · 1 评论 -
【MySQL-7】数据定义语言(DDL)的表操作详解:创建&查询&修改&删除
一.DDL-表操作-创建1.基本语法2.样例演示二.DDL-表操作-查询语句总览1.查询当前数据库所有表2.查询表结构3.查询指定表的建表语句三.根据需求创建表(设计合理的数据类型、长度)四.DDL-表操作-修改&删除语句总览1.往表中添加字段2.修改字段数据类型3.修改字段名+字段数据类型4.删除表中字段5.修改表名五.DDL-表操作-删除语句总览1.删除表2.删除指定表,并重新创建该表原创 2024-03-21 14:04:35 · 1372 阅读 · 3 评论 -
【MySQL-6】数据定义语言(DDL)的表结构的数据类型盘点&案例演示
一.数值类型二.字符串类型三.日期类型四.根据需求创建表(设计合理的数据类型、长度)原创 2024-03-27 21:18:24 · 927 阅读 · 1 评论 -
【MySQL-5】数据定义语言(DDL)的数据库操作:查询&创建&删除&使用(可cv代码+演示图)
一.DDL-数据库操作查询创建 删除使用原创 2024-03-22 23:16:04 · 568 阅读 · 0 评论 -
【MySQL-4】简述SQLの通用语法及4种基本语句介绍(DDL/DML/DQL/DCL)
前言大家好吖,欢迎来到YY滴MySQL系列 ,热烈欢迎!本章主要内容面向接触过C++ Linux的老铁主要内容含:欢迎订阅YY滴C++专栏!更多干货持续更新!以下是传送门!原创 2024-03-27 21:18:14 · 592 阅读 · 0 评论 -
【MySQL-3】图形化界面工具DataGrip安装&配置&使用
一.安装DataGrip二.配置DataGrip连接MySQL数据库三.DataGrip操作1.在DataGrip中创建【数据库&表】2.在DataGrip中修改【数据库&表】3.不通过图形化界面,自己用SQL语句创建原创 2024-03-20 22:25:08 · 1872 阅读 · 3 评论