再学MySQL!
文章平均质量分 93
Gettler•Main
我与我周旋久,宁作我!
展开
-
重学MySQL基础(一)
当有客户端连接到服务器时,服务器进程会创建一个线程来处理与这个客户端的交互。而当客户端断开连接时,服务器不会立即销毁处理客户端交互的线程,而是会将它缓存起来,在新的客户端与服务器建立连接时,再讲这个线程分配给新的客户端。原创 2023-02-01 09:35:32 · 2990 阅读 · 0 评论 -
MySQL 索引 学习
MyISAM 和 InnoDB 索引的区别。编写sql函数插入百万数据。原创 2023-02-06 09:28:35 · 24341 阅读 · 0 评论 -
MySQL 事务 学习
持久性(Durability): 事务一旦被提交则不可逆,会被持久化到数据库中。一个事务内读取某一行数据,多次读取数据不同(不一定错误,以场景而定)一致性(Consistency):事务前后的数据完整性要保持一致。一个事务内读取到了其他事务插入的数据,导致前后数据不一致。原子性(Atomicity):要么都成功,要么都失败。隔离性(Isolation):每个事务之间相互隔离。ACID原则:原子性、一致性、隔离性、持久性。指一个事务读取到了另一个事务未提交的数据。commit之后再差。原创 2023-02-06 09:31:43 · 23162 阅读 · 1 评论 -
InnoDB 数据页结构
在将页从内存刷新到磁盘时,为保证页的完整性,页首和页尾都会存储页中数据的校验和,以及页面最后修改时对应的LSN值(页尾只会存储LSN值的后。指向真实数据开始的位置,该位置向左是记录头信息,向右是真实数据,这便与之前行结构部分变长字段列表、NULL值列表逆序存放相对应。值记录从当前记录的真实数据到下一条记录的真实数据的距离(下一条数据指按照主键值从小到大排序的下一条记录)记录是一个页面中最大的记录。(由5字节大小的记录头信息和8字节大小的一个固定单词组成,人为规定)记录是一个页面中最小的记录;原创 2022-11-14 15:40:18 · 23989 阅读 · 2 评论 -
MySQL 连接管理,字符编码、InnoDB记录存储结构
CHAR(M)类型的列在COMPACT行格式中,使用不同的字符集(定长编码字符集和变长编码的字符集),其存储方案也不同,而在REDUNDANT行格式中,该列真实数据所占空间的大小就是所用字符集表示一个字符最多需要的字节数与M的乘积。而当客户端断开连接时,服务器不会立即销毁处理客户端交互的线程,而是会将它缓存起来,在新的客户端与服务器建立连接时,再讲这个线程分配给新的客户端。大体与COMPACT相同,区别是溢出列真实数据存放处值记录溢出页位置与溢出页数据字节数,将所有真实数据全部存放至溢出页中。原创 2022-11-13 22:54:20 · 3057 阅读 · 0 评论 -
SQL中的字符串相关函数、GROUP_CONCAT与IFNULL函数
编写一个 SQL 查询来修复名字,使得只有第一个字符是大写的,其余都是小写的。编写一个 SQL 查询来查找每个日期、销售的不同产品的数量及其名称。表中第二高的薪水。如果不存在第二高的薪水,查询应该返回。每个日期的销售产品名称应按词典序排列。编写一个 SQL 查询,获取并返回。查询结果格式如下例所示。查询结果格式示例如下。查询结果如下例所示。原创 2022-11-07 21:21:33 · 13901 阅读 · 2 评论 -
SQL中的条件语句
写出一个SQL 查询语句,计算每个雇员的奖金。如果一个雇员的id是奇数并且他的名字不是以’M’开头,那么他的奖金是他工资的100%,否则奖金为0。注意,你必须仅使用一条 update 语句,且。请你编写一个 SQL 查询来交换所有的。或者类似三元运算符的IF函数。使用 select 语句。,反之亦然),仅使用。,且不产生中间临时表。使用CASE写条件语句。查询结果如下例所示。原创 2022-11-03 19:54:17 · 14426 阅读 · 0 评论