
MySQL学习笔记
文章平均质量分 82
MySQL学习过程中的笔记
wrjwww
这个作者很懒,什么都没留下…
展开
-
【MySQL学习笔记】MySQL的InnoDB存储引擎(逻辑存储结构、InnoDB架构、事务原理、MVCC)
更改缓冲区(针对于非唯一二级索引页),在执行DML语句时,如果这些数据Page没有在BufferPool中,不会直接操作磁盘,而会将数据变更存在更改缓冲区ChangeBuffer中,在未来数据被读取时,再将数据合并恢复到BufferPool中,在将合并后的数据刷新到磁盘中。:重做日志,是用来实现事务的持久性。:日志缓冲区,用来保存要写入到磁盘中的log日志数据(redolog,undolog),默认大小为16MB,日志缓冲区的日志会定期刷新到磁盘中。原创 2025-01-19 09:10:21 · 644 阅读 · 0 评论 -
【MySQL学习笔记】MySQL锁(全局锁、表级锁、行级锁)
锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。MySQL中的锁按照锁的粒度分,分为以下三种:1-全局锁:锁定数据库中的所有表2-表级锁:每次操作锁住整张表3-行级锁:每次操作锁住对应的行数据。原创 2025-01-19 09:09:54 · 893 阅读 · 0 评论 -
【MySQL学习笔记】MySQL触发器
触发器是与表有关的数据库对象,指在 insert/update/delete 之前或之后,触发并执行触发器中定义的 SQL 语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性,日志记录,数据校验等操作。使用别名 OLD 和 NEW 来引用触发器中发生变化的记录内容,这与其他的数据库是相似的。现在触发器还只支持行级触发,不支持语句级触发,触发器类型NEW 和 OLDinsert 型触发器NEW 表示将要或者已经新增的数据update 型触发器。原创 2025-01-17 10:55:27 · 197 阅读 · 0 评论 -
【MySQL学习笔记】MySQL存储过程
用户自定义变量是用户根据需要自己定义的变量,用户变量不用提前声明,在用的时候直接用 “@变量名” 使用就可以了。其作用域为当前连接。-- 使用 set 方式赋值-- 推荐使用 ':=' 进行赋值。因为 MySQL 中的赋值运算符和比较运算符都是 '=',为了区分,推荐使用 ':='-- 使用 select 方式赋值-- 将 table_name 表中的 column_name 字段的值赋值给 @var_name 变量。原创 2025-01-14 12:02:16 · 1010 阅读 · 0 评论 -
【JavaWeb后端学习笔记】MySQL的数据控制语言(Data Control Language,DCL)
DCL英文全称是Data Control Language(数据控制语言),用来管理数据库用户、控制数据库访问权限。原创 2024-12-30 17:07:33 · 403 阅读 · 0 评论 -
【JavaWeb后端学习笔记】MySQL的常用函数(字符串函数,数值函数,日期函数,流程函数)
【代码】【JavaWeb后端学习笔记】MySQL的常用函数(字符串函数,数值函数,日期函数,流程函数)原创 2025-01-02 15:48:43 · 645 阅读 · 0 评论 -
【JavaWeb后端学习笔记】MySQL事务控制和事务的四大特性(ACID)以及CAP定理
MySQL的事务是一组操作的集合,它是一个不可分割的工作单位。事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。原创 2024-12-04 10:16:12 · 408 阅读 · 0 评论 -
【MySQL学习笔记】MySQL视图View
视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。通俗的讲,视图只保存了查询的 SQL 逻辑,不保存查询结果。所以我们在创建视图的时候,主要的工作就落在创建这条 SQL 查询语句上。原创 2025-01-11 21:28:57 · 1186 阅读 · 0 评论 -
【MySQL学习笔记】SQL优化(插入数据、主键优化、order by优化、group by优化、limit优化、count优化、update优化)
SQL优化包含7部分内容,分别为:insert优化、主键优化、order by优化、group by优化、limit优化、count优化、update优化。下面一一介绍。原创 2025-01-11 15:58:44 · 1205 阅读 · 0 评论 -
【JavaWeb后端学习笔记】MySQL多表查询(内连接、外连接、子查询)
多表查询有两大类:连接查询和子查询。连接查询又分为隐式/显式内连接和左/右外连接。子查询又分为标量子查询、列子查询、行子查询和表子查询。多表查询是建立在单表查询的基础之上的,因此需要熟练单表查询。开始前需要运行01.数据准备.sql脚本中的代码,准备表和数据。原创 2024-12-03 16:17:43 · 1404 阅读 · 0 评论 -
【JavaWeb后端学习笔记】MySQL的数据操作语言(Data Manipulation Language,DML)
MySQL的数据操作语言(Data Manipulation Language,DML)用于对数据库表中的数据进行。原创 2024-12-02 16:26:42 · 1067 阅读 · 0 评论 -
【JavaWeb后端学习笔记】MySQL的数据定义语言(Data Definition Language,DDL)
语法create table 表名(字段1 字段类型 [约束] [comment 字段1注释],......字段n 字段类型 [约束] [comment 字段n注释])[comment 表注释];约束在创建表时需要指定字段类型和约束。首先介绍约束。约束是作用于表中字段上的规则,用于限制存储在表中的数据。以保证数据库中数据的正确性、有效性和完整性。约束描述关键字非空约束限制该字段值不能为nullnot null唯一约束保证字段的所有数据都是唯一的、不重复的unique。原创 2024-12-02 14:56:20 · 750 阅读 · 0 评论 -
【JavaWeb后端学习笔记】MySQL的数据查询语言(Data Query Language,DQL)
下载百度网盘中提供的SQL脚本,将DQL-数据准备.sql中的代码复制粘贴到IDEA中运行,得到数据库表以及表中的内容。MySQL的数据查询语言(Data Query Language,DQL)用于查询数据库中表的记录,是MySQL中最常用的部分。查询所有员工的 name,entrydate, 并起别名(姓名、入职日期)查询返回所有字段,可以列出所有的字段,也可以使用通配符。查询指定字段 name,entrydate 并返回。查询已有的员工关联了哪几种职位(不要重复)。MySQL的索引是从 0 开始。原创 2024-12-03 11:33:48 · 1010 阅读 · 0 评论 -
【JavaWeb后端学习笔记】使用IDEA连接MySQL数据库
第一步:输入用户名和密码,用户名默认为root,密码可通过如下命令进行修改;第二步:给数据库取别名,方便管理,可选;第三步:点击Test Connection测试连接是否成功;第四步:点击OK或者Apply。2.选择要连接的数据库。第一步:点击“+”;第二步:点击 Data Source;第三步:选择一个数据库;第四步:点击MySQL。4.数据库连接成功。发现左侧出现数据库信息。IDEA中集成了DataGrip,因此可以直接使用IDEA操作MySQL数据库。1.创建一个新的空工程。点击左侧的数据库标志。原创 2024-12-02 11:14:38 · 618 阅读 · 0 评论 -
【MySQL学习笔记】MySQL的索引
索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。索引的优点:1- 提高数据检索的效率,降低数据库的IO成本;2- 通过索引列对数据进行排序,降低数据排序的成本,降低CPU的消耗。索引的缺点:1- 索引列也是要占用空间的。原创 2025-01-09 21:38:03 · 766 阅读 · 0 评论 -
【MySQL学习笔记】MySQL的存储引擎
存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也可被称为表类型。创建表时可以指定存储引擎。在mysql5.5之后默认存储引擎为InnoDB。-- 创建表时指定存储引擎create table 表名(字段1 字段类型 [约束] [comment 字段1注释],......字段n 字段类型 [约束] [comment 字段n注释]) engine=存储引擎;查看当前数据库支持的存储引擎。原创 2025-01-08 12:29:47 · 1110 阅读 · 0 评论