
MySQL
文章平均质量分 96
CaraYQ
这个作者很懒,什么都没留下…
展开
-
【mysql】-【锁】
事务的隔离性由这章讲述的锁来实现。原创 2023-07-09 16:59:27 · 504 阅读 · 0 评论 -
【MySQL】-【数据库的设计规范】
在关系型数据库中,关于数据表设计的基本原则、规则就称为范式。可以理解为,一张数据表的设计结构需要满足的某种设计标准的 级别。要想设计一个结构合理的关系型数据库,必须满足一定的范式。原创 2023-05-22 18:00:04 · 529 阅读 · 0 评论 -
【mysql】-【事务】
事务时数据库区别于文件系统的重要特性之一,当我们有了事务就会让数据库始终保持一执行,同时我们还能通过事务的机制恢复到某个时间点,这样可以保证已提交到数据库的修改不会因为系统崩溃而丢失。原创 2023-03-05 21:36:52 · 179 阅读 · 0 评论 -
【MySQL】-【索引优化与查询优化】
学员表 插 50万 条, 班级表 插 1万 条。创建往class表中插入数据的存储过程。建立索引前执行:(关注执行时间)步骤6:删除某表上的索引。保证每条数据都不同。步骤4:创建存储过程。步骤5:调用存储过程。原创 2023-02-22 20:01:44 · 298 阅读 · 0 评论 -
【MySQL】-【索引的创建与设计原则】
唯一性索引与唯一性约束是一一对应关系,你给某个字段添加了唯一性约束,它会自动生成唯一性索引,你给某个字段添加了唯一性索引,他会自动具备唯一性约束。MySQL的索引包括普通索引、唯一性索引、全文索引、单列索引、多列索引和空间索引等。主键约束上自动就会有主键索引,主键索引就是聚簇索引,一张表里最多只能有一个主键索引,因为一张表中最多只能有一个主键。如果需要全文索引的是大量数据,建议先添加数据,再创建索引。一、隐式的方式创建索引。在声明有主键约束、唯一性约束、外键约束的字段上,会自动的添加相关的索引。原创 2023-01-11 20:39:20 · 1280 阅读 · 0 评论 -
【mysql】-【innodb数据存储结构】
页a、页b、页c…页n这些页可以不在物理结构上相连,只要通过双向链表相关联即可。每个数据页中的记录会按照主键值从小到大的顺序组成一个单向链表,每个数据页都会为存储在它里边的记录生成一个页目录,在通过主键查找某条记录的时候可以在页目录中 使用二分法 快速定位到对应的槽,然后再遍历该槽对应分组中的记录即可快速找到指定的记录。页与页是双向链表,页中的数据是单向链表。原创 2023-01-08 11:38:10 · 865 阅读 · 0 评论 -
【MySQL】-【为什么使用索引】-【InnoDB中索引的推演】-【MyISAM中的索引方案】-【索引的代价】-【MySQL数据结构选择的合理性】
二、在很多页中查找:确定数据在哪一页,从所在页中查找相应的数据(此时的查找套路同【在一个页中查找】),但是在没有索引的情况下,不论是根据主键列或者其他列的值进行查找,由于我们并不能快速的定位到记录所在的页,所以只能从第一个页沿着双向链表一直往下找,在每一个页中根据我们上面的查找方式去查找指定的记录。如前所述,如果目录项在物理存储器上连续存储(比如:数组),假如我删了一页数据,那么该页在目录项的数据也要删除,那么后面的数据得向前移,这是个弊端,那我们可以让目录项也像数据那样使用单向链表进行连接。原创 2023-01-04 20:18:22 · 483 阅读 · 0 评论 -
【MySQL】-【变量、流程控制、游标】
四、当MySQL实例启动后,或者说MySQL服务启动后,全局变量全部初始化,当具体的客户端连接MySQL服务时,就称为一次会话,会话一旦建立,就会涉及到会话变量的建立,如果会话变量中的一些变量在全局变量中也有(即变量既是全局变量,又是会话变量),那么会话变量初始化的值与全局变量的值一致,否则加载会话变量并初始化。会话期间,当前会话对某个会话系统变量值的修改,不会影响其他会话同一个会话系统变量的值。三、有些变量他可能既是全局变量,又是会话变量,有些变量他可能只是全局变量,有些变量他可能只是会话变量。原创 2022-11-10 11:40:27 · 476 阅读 · 0 评论 -
【MySQL】-【约束】
一、为什么需要约束:数据完整性(Data Integrity)是指数据的精确性(Accuracy)和可靠性(Reliability)。它是防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。为了保证数据的完整性,SQL规范以约束的方式对表数据进行额外的条件限制。实体完整性(Entity Integrity):例如同一个表中,不能存在两条完全相同无法区分的记录域完整性(Domain Integrity):例如:年龄范围0-120,性别范围“男/女”......原创 2022-08-26 17:42:35 · 407 阅读 · 0 评论 -
【MySQL基础】-【数据处理之增删改】-【数据类型】
说明:emp1表中要添加数据的字段的长度不能低于employees表中查询的字段的长度。如果emp1表中要添加数据的字段的长度低于employees表中查询的字段的长度的话,就有添加不成功的风险。例如,a列值为1、b列值为2,c列不需要手动插入,定义a+b的结果为c的值,那么c就是计算列,是通过别的列计算得来的。三、小结:DML操作默认情况下,执行完以后都会自动提交数据。五、修改数据时,是可能存在不成功的情况的。二、在删除数据时,也有可能因为约束的影响,导致删除失败。一、方式一:一条一条的添加数据。....原创 2022-08-03 15:53:14 · 379 阅读 · 0 评论 -
【MYSQL】-【子查询】-【创建和管理表】-【MySQL8.0新特性:DDL原子化】
那么我们接下来就可以查询上表中最低的工资,注意将查询结果当作表时需要给这张表(查询结果)起个别名,否则会报错,此处我们命名为t_dept_avg_sal。三、HAVING中的子查询首先执行子查询,然后向主查询中的HAVING子句返回结果。上面我们已经获得了最低平均工资,现在查询该部门的id,先查询每个部门的平均工资,然后查询平均工资等于最低平均工资的部门id。五、子查询中的空值问题内查询啥也没查到,返回空值,不会报错,只是查询没有结果。四、称谓的规范外查询(或主查询)、内查询(或子查询)..........原创 2022-07-27 17:45:02 · 698 阅读 · 0 评论 -
【MySQL】-【单行函数】-【聚合函数】-【SQL底层执行原理】
当然如果我们操作的是两张以上的表,还会重复上面的步骤,直到所有表都被处理完为止。在这个阶段中,实际上是在虚拟表vt2的基础上进行分组和分组过滤,得到中间的虚拟表vt3和vt4。否则,报错,并且HAVING必须声明在GROUPBY的后面。流程处理函数可以根据不同的条件,执行不同的处理流程,可以在SQL语句中实现不同的条件选择。关键字之后,在所有查询出的分组记录之后增加一条记录,该记录计算查询出的所有记录的总和,即统计记录数量。聚合函数是对一组数据进行汇总的函数,输入的是一组数据的集合,输出的是单个值。....原创 2022-06-20 10:02:50 · 263 阅读 · 0 评论 -
【MySQL】-【排序】-【分页】-【多表查询】
一、排序规则:使用对查询到的数据进行排序操作。二、子句在语句的结尾。原创 2022-06-07 19:17:07 · 755 阅读 · 0 评论 -
【MySQL】-【SQL语言】-【基本的SELECT语句】-【运算符】-【正则表达式】
SQL语言在功能上主要分为如下3大类:一、SQL可以写在一行或者多行。为了提高可读性,各子句分行写,必要时使用缩进二、每条命令以或或结束,三、关键字不能被缩写也不能分行,SQLyog中会把关键字标蓝。四、关于标点符号一、MySQL在Windows环境下是大小写不敏感的,在Linux环境下是大小写敏感的。因为Windows本身不区分大小写,Linux区分二、推荐采用统一的书写规范:命名规则(暂时了解)一、数据库、表名不得超过30个字符,变量名限制为29个二、必须只能包含 A–Z, a–z, 0–9,原创 2022-06-06 17:57:25 · 663 阅读 · 0 评论 -
【MySQL】-【数据库概述】-【关系型数据库设计原则】-【MySQL环境搭建】
目录数据库常用概念MySQL介绍RDBMS与非RDBMS比较关系型数据库RDBMS数据库常用概念一、内存使用低电压高电压来区分0和1进行数据存储,所以掉电了就不能存储了,那如果我们想持久化存储数据应该怎么办呢?借助相关的介质存储到相关的文件中:图片存储在jpg文件中,文字存储在.doc文件中,Java源码存在.java文件中复杂的数据存储在数据库中其他介质持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的原创 2022-05-31 20:57:37 · 433 阅读 · 0 评论