
MySQL
文章平均质量分 87
Stark、
一只“程序猿”:目前了解有C#、Java、Python,熟悉C/C++,linux系统编程,MySQL数据库,数据结构与算法等。
其它涉及知识:HTML基础、Qt框架、Git、Redis工具等
持续学习路线:工具链(Docker等)、前端(CSS、JavaScript、Vue等)、后端(网络编程、后端框架等)
感兴趣的方向:人工智能(机器学习、强化学习、深度学习;大模型:LangChain框架、垂直领域整合)
座右铭:梦想是一盏明灯,照亮我们前行的路,无论风雨多大,我们都要坚持不懈。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【MySQL数据库】InnoDB存储引擎:事务原理redolog、undolog与版本控制MVCC
上文我们提到,事务有ACID四个特性,分别是:原子性、一致性、隔离性、持久性。那么为什么只有InnoDB支持这些特性呢?既然是“特”性,那么就会有一些不同于其它引擎的机制来保证这些特性。本文就主要学习一下事务的原理。原创 2025-06-10 22:55:03 · 921 阅读 · 0 评论 -
【MySQL数据库】InnoDB存储引擎:逻辑存储结构、内存架构、磁盘架构
一个数据库是由一张张表组成的,而表中是由一个个段构成的,一个段是由区构成的,区空间是由页构成的,页是行构成的。:.ibd文件,一个mysql实例可以对应多个表空间,用于存储记录、索引等数据。:分为数据段(Leaf node segment)、索引段(Non-leaf node segment)、回滚段(Rollback segment),InnoDB是索引组织表,数据段就是B+树的叶子结点,索引段就是B+树的非叶子结点。段用来管理多个Extent(区)。:表空间的单元结构,每个区大小为1M。原创 2025-04-14 21:41:44 · 1689 阅读 · 1 评论 -
【MySQL数据库】锁机制
表级锁:每次操作都会锁住数据所在的整张表。锁的粒度大,发生锁冲突的概率最高,并发度最低。在MyISAM、InnoDB、BDB等存储引擎中都支持。并发度比较低。表级锁也有细化的分类:表锁、元数据锁(MDL - meta data lock)、意向锁。原创 2025-04-04 22:38:03 · 685 阅读 · 0 评论 -
【MySQL数据库】“一篇通过演示带你深刻理解事务的优质好文“(事务特性ACID;并发事务带来的脏读、不可重复读、幻读问题;隔离等级:未提交读、提交读、可重复读、可串行化)
事务是一个不可分割的最小单元,要么全部成功,要么全部失败回滚。不存在部分执行的状态。事务具有ACID特性,本文会对并行事务中的三个问题【脏读、不可重复读、幻读】进行演示,设置隔离等级解决不同的问题。最后在文章末尾给出相关的一些语句。原创 2025-04-04 11:43:18 · 667 阅读 · 0 评论 -
【MySQL数据库】视图 + 三范式
MySQL中的视图(View)是一种虚拟的表,其内容是从一个或多个基本表中检索出来的。视图可以简化复杂的查询操作,提高查询效率,同时也可以对敏感数据进行安全性控制。虽然设计上有三大范式,但是我们要避免过度范化导致性能问题,或者理解上的偏差。三范式的坏处就是查询语句比较复杂时,需要多表查询,多表之间不存在索引对应关系,所以效率上会降低。所以根据实际应用的权衡利弊,我们还有一些反范式化的情况。原创 2025-03-26 20:23:48 · 1096 阅读 · 0 评论 -
【MySQL数据库】触发器与事件
trigger,在表的插入insert、更新update、删除delete操作发生时自动执行MySQL语句。学过Qt的都知道信号槽,一旦发出某个信号,那么就会触发关联的信号槽函数。触发器就类似于这个操作。创建触发器时需要给出一些信息:触发器名在操作前还是操作后触发(before/after)被什么操作触发(insert/update/delete)被哪个表的操作触发每当表table_name进行操作时,在这之前(之后)执行器会自动执行myTrigger触发器内部的coding。原创 2025-03-23 22:53:53 · 1028 阅读 · 0 评论 -
【MySQL数据库】索引(索引分类及数据结构:哈希、B+树;聚簇索引、非聚簇索引;索引覆盖、索引失效;最左前缀原则、索引设计原则、索引使用策略)
本文包含以下干货内容:索引分类:哈希索引、全文索引、B+树索引;聚簇索引、非聚簇索引;索引覆盖现象、索引失效现象;最左前缀原则、索引设计原则、索引使用策略。【包含面试常问内容分析】原创 2025-03-23 00:27:51 · 1196 阅读 · 0 评论 -
【MySQL数据库】存储过程与自定义函数(含: SQL变量、分支语句、循环语句 和 游标、异常处理 等内容)
本文主讲:存储过程、自定义函数;SQL中变量的定义、使用;分支语句、循环语句; 游标、异常处理:错误处理(句柄机制) 等原创 2025-03-19 23:51:58 · 1262 阅读 · 0 评论 -
【MySQL数据库】多表查询(笛卡尔积现象,联合查询、内连接、左外连接、右外连接、子查询)-通过练习快速掌握法
本文我们将系统的讲解多表查询。包括面试可能问到的笛卡尔积现象,以及多种多表查询的类型:联合查询、内连接、左外连接、右外连接、子查询,通过练习的方式快速掌握知识。每次练习都可能设计新的知识盲区,都会进行补充,欢迎阅读。原创 2025-03-16 17:06:43 · 2374 阅读 · 0 评论 -
【MySQL数据库】函数
MySQL是一个广泛使用的关系数据库管理系统,它提供了许多内置函数,可以帮助用户实现复杂的查询和数据处理。除此以外,我们还可以自定义一些函数用来使用。原创 2025-03-15 16:46:32 · 329 阅读 · 0 评论 -
【MySQL数据库】约束
在MySQL数据库中,约束(Constraint)是用于限制表中数据的一种规则,目的是为了确保数据的完整性以及一致性。下面我们就从建表时的约束、建表后如何添加约束等几个方面,讲解MySQL中常用的几种约束。原创 2025-03-15 16:24:23 · 724 阅读 · 0 评论 -
【MySQL数据库】SQL语法基础--DML(入门级)
DML(Data Manipulation Language)即数据操作语言,主要用于数据库操作的一组语法。主要包括插入(INSERT)、更新(UPDATE)、删除(DROP)。主要是操作表中的数据(又称记录)原创 2025-03-15 15:41:42 · 370 阅读 · 0 评论 -
【MySQL数据库】SQL语法基础--DQL(入门级)
在学习数据库的数据操作之前,我们应该先学习查询操作,只有学会了查询,后面操作我们才能看到操作后的反馈。原创 2025-03-03 20:11:43 · 1159 阅读 · 0 评论 -
【MySQL数据库】SQL语法基础--DDL(入门级)
本文主要包含内容:DDL语言的数据库的增删查,数据表的增删查,数据表结构的修改。以及介绍了mysql的一些数据类型,sql语句的一些基本定义内容等。非常适合入门选手。原创 2025-02-19 11:21:43 · 750 阅读 · 0 评论 -
【MySQL数据库】保姆级教程:MySQL安装教程、MySQL-Font安装以及8.0适配问题分析,解决方案:使用其它图形化软件(Navicat Premium Lite)
MySQL是一种开源的关系型数据库管理系统,广泛应用于各种场景,尤其是在Web应用、数据处理和企业管理中。其优点包括支持SQL语言、良好的性能、较高的可靠性和易于维护。此外,MySQL具备强大的社区支持和丰富的文档,适合用于小型到大型数据存储解决方案。我们本章需要进行MySQL数据库的安装,包括图形化软件MySQL-Font的安装等。如果MySQL-Font出现不支持问题(mysql-front不支持MySQL8.0等),可以选择安装Navicat 免费的Lite版本。原创 2025-02-15 11:00:00 · 1037 阅读 · 0 评论