![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mysql基础
文章平均质量分 90
野猪杀手X
这个作者很懒,什么都没留下…
展开
-
Mysql原理-日志
那么,执行一条 update 语句,期间发生了什么?客户端先通过连接器建立连接,连接器自会判断用户身份;因为这是一条 update 语句,所以不需要经过查询缓存,但是表上有更新语句,是会把整个表的查询缓存清空的,所以说查询缓存很鸡肋,在 MySQL 8.0 就被移除这个功能了;解析器会通过词法分析识别出关键字 update,表名等等,构建出语法树,接着还会做语法分析,判断输入的语句是否符合 MySQL 语法;预处理器会判断表和字段是否存在;原创 2023-04-24 00:26:48 · 121 阅读 · 0 评论 -
Mysql原理-锁
两个事务即使生成的间隙锁的范围是一样的,也不会发生冲突,因为间隙锁目的是为了防止其他事务插入数据,因此间隙锁与间隙锁之间是相互兼容的。在执行插入语句时,如果插入的记录在其他事务持有间隙锁范围内,插入语句就会被阻塞,因为插入语句在碰到间隙锁时,会生成一个插入意向锁,然后插入意向锁和间隙锁之间是互斥的关系。互斥、占有且等待、不可强占用、循环等待,因此发生了死锁。原创 2023-04-24 00:21:52 · 160 阅读 · 0 评论 -
Mysql原理-事务
事务是在 MySQL 引擎层实现的,我们常见的 InnoDB 引擎是支持事务的,事务的四大特性是原子性、一致性、隔离性、持久性,我们这次主要讲的是隔离性。当多个事务并发执行的时候,会引发脏读、不可重复读、幻读这些问题,那为了避免这些问题,SQL 提出了四种隔离级别,分别是读未提交、读已提交、可重复读、串行化,从左往右隔离级别顺序递增,隔离级别越高,意味着性能越差,InnoDB 引擎的默认隔离级别是可重复读。原创 2023-04-24 00:16:56 · 70 阅读 · 0 评论 -
Mysql原理-索引
数据库中,索引的定义就是帮助存储引擎快速获取数据的一种数据结构,形象的说就是索引是数据的目录。所谓的存储引擎,说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。下图是 MySQL 的结构图,索引和数据就是位于存储引擎中:(132条消息) MySQL几种创建索引的方式_mysql怎么创建索引_不会秃头的小齐的博客-CSDN博客key 和 index 关键字都可以用来创建索引。原创 2023-04-24 00:13:39 · 118 阅读 · 0 评论 -
Mysql原理-基础
执行一条 SQL 查询语句,期间发生了什么?连接器:建立连接,管理连接、校验用户身份;查询缓存:查询语句如果命中查询缓存则直接返回,否则继续往下执行。MySQL 8.0 已删除该模块;解析 SQL,通过解析器对 SQL 查询语句进行词法分析、语法分析,然后构建语法树,方便后续模块读取表名、字段、语句类型;执行 SQL:执行 SQL 共有三个阶段:预处理阶段:检查表或字段是否存在;将select *中的符号扩展为表上的所有列。优化阶段:基于查询成本的考虑, 选择查询成本最小的执行计划;原创 2023-04-24 00:10:54 · 100 阅读 · 0 评论 -
MySQL数据库6
Annual Salary” 也可以作为别名,加不加AS都可以。第(2)题注意判断null和非null要用 is null 和 is not null,不能用等于符号=,也不能用不等号<> 或者!正确答案:注意第 (1) 题的 c 选项。可以给其他用户授权,也可以收回其权限。原创 2023-04-22 23:49:45 · 93 阅读 · 0 评论 -
MySQL数据库5
注意:Memory 数据是存储在内存中的,因此不需要 IO 读写,所以访问非常快。细节:1.视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含列,其数据来自对应的真实表(基表)原创 2023-04-22 23:46:21 · 97 阅读 · 0 评论 -
MySQL数据库4
- 应用案例:请统计各个部门(group by)的平均工资(avg),并且平均工资是大于1000的(having), -- 并且按照平均工资从高到低排序(order by),取出前两行记录(limit) SELECT deptno , AVG(sal) AS avg_sal FROM emp GROUP BY deptno HAVING avg_sal > 1000 ORDER BY avg_sal DESC LIMIT 0 , 2;#注意:这个语法顺序一定不能变。原创 2023-04-22 23:24:46 · 74 阅读 · 0 评论 -
MySQL数据库3
注意:LIKE 的用法,比如某个 student 表有一个 name 字段(列),要找一个姓丁的同学的所有信息。增删改查(CRUD):C——Create,R——Read, U——update, D——Delete。这一章主要讲的是单表查询,多表查询放到11章,也就是下一个25 MySQL数据库.md文件。:对分组后的结果进行过滤。通常跟 group by 结合使用。:返回满足 where 条件的行的和。:返回满足 where 条件的一列的最大/最小值。:返回满足 where 条件的一列的平均值。原创 2023-04-22 23:19:25 · 76 阅读 · 0 评论 -
MySQL数据库2
如果要在数据库 hsp_db02 和 hsp_db03 中创建一个表,如果没有指定表的字符集和字符集校对规则,那么表的字符集和校对规则与对应的数据库保持一致,而不是按照默认规则指定。比如 hsp_db03 中创建一个没有指定字符集和校对规则的表,则表的字符集为uft8,校对规则为 utf8_bin,hsp_db02 则分别为 utf8 和 utf8_general_ci。对上面最后一条语句的解释:hsp_db02 数据库的字符集校对规则为默认的 utf8_general_ci,它是不区分大小写的。原创 2023-04-22 23:07:39 · 51 阅读 · 0 评论 -
MySQL数据库1
1.下载zip版本解压后可以直接使用,下载exe版本需要再进行手动安装2.添加环境变量的作用:在任意目录下都可以去操作mysql3.在安装目录下创建 my.ini 文件,需要自己创建:后面的不写了,自己查看老韩的MySQL安装文档。原创 2023-04-22 22:58:36 · 114 阅读 · 0 评论