1.MySQL相关的学习博客文章的合集篇;
2.涵盖MySQL从入门到进阶,再到强化的相关内容。
MySQL基本概念和基本语句
SQL(Structured Query Language)是一种用于管理关系型数据库的标准化语言,它用于定义、操作和管理数据库中的数据。SQL是一种通用的语言,可以用于多种关系型数据库管理系统(RDBMS),如MySQL、Oracle、SQL Server等。
MySQL是一种开源的关系型数据库管理系统,它使用SQL作为其查询语言。MySQL是最流行的开源数据库之一,它具有高性能、可靠性和可扩展性。MySQL支持多用户、多线程和多表操作,可以在各种操作系统上运行。
1.基本查询
SQL学习(1)——数据库概念+单表SQL查询+多表SQL查询
SQL进阶(2)——SQL语句类型 & 增删改查CRUD & 事务初步 & 表关联关系 & 视图 +索引
2.回望MySQL
MySQL进阶(回望MySQL)——从数据资产谈起 & MySQL的DOS命令、常用数据类型、SQL语句的分类 & SQL函数
3.JDBC
MySQL进阶(再论JDBC)——JDBC编程思想的分析 & JDBC的规范架构 & JDBC相关的类分析
MySQL进阶
1.存储过程store procedure
MySQL(存储过程,store procedure)——存储过程的前世今生 & MySQL存储过程体验 & MybatisPlus中使用存储过程
2.MySQL的事务初步
MySQL进阶(事务)——转账事务的问题 COMMIT,ROLLBACK & 百万条数据插入的性能调优=3万次提交变成1次
3.再论事务【深入阐述】
MySQL进阶(再论事务)——什么是事务 & 事务的隔离级别 & 结合MySQL案例详细分析
主要内容:
1.事务(TRANSACTION)是一个不可分割的逻辑单元,包含了一组数据库操作命令,并且把所有的命令作为一个整体向系统提交,要么都执行、要么都不执行;
2.隔离级别和脏读、不可重复读以及幻象读的对应关系如下:
隔离级别 | 脏读 | 不可重复读 | 幻读 |
---|---|---|---|
READ UNCOMMITTED | 允许 | 允许 | 允许 |
READ COMMITED | 不允许 | 允许 | 允许 |
REPEATABLE READ 【默认的隔离级别】 | 不允许 | 不允许 | 允许 |
SERIALIZABLE | 不允许 | 不允许 | 不允许 |
3.在MySQL数据库中,默认的事务隔离级别是REPEATABLE READ 可重复读;
4.MySQL的索引
MySQL的索引——索引的介绍及其数据结构B+树 & 索引的类型 & 索引的使用及其失效场景 & 相关名词解释
主要内容:
1.索引是存储引擎用于快速查找数据纪录的一种数据结构;
2.索引的数据结构,B+树;
3.主键作为B+树索引的键值称为聚集索引;以主键以外的列值作为键值构建的B+树索引称为非聚集索引;
4.索引失效:索引不满足左前缀,select *,or分割的条件,order by 非主键;
5.%开头的Like模糊查询–> 解决:select和where条件中的字段都出现在索引;
6.回表,先查到主键,再通过主键查数据,查了B+树两次;
7.索引覆盖:输出的列就是索引列,无需回表;
5.MyISAM和InnoDB引擎
MySQL进阶(数据库引擎)——MyISAM和InnoDB引擎的区别
内容摘要:
1.MyISAM
只有表级锁,而InnoDB
支持行级锁和表级锁,默认为行级锁;
2.MyISAM
不提供事务支持。而InnoDB
提供事务支持;
3.MyISAM
不支持,而InnoDB
支持;
4.MyISAM
不支持聚集索引,InnoDB
支持聚集索引;
5MyISAM
不支持,InnoDB
支持。应对高并发事务,MVCC比单纯的加锁更高效;
特性 | InnoDB | MyISAM |
---|---|---|
事务安全 | 支持 | 无 |
存储限制 | 64TB | 有 |
空间使用 | 高 | 低 |
内存使用 | 高 | 低 |
插入数据的速度 | 低 | 高 |
对外键的支持 | 支持 | 无 |
MySQL应用
0.数据库表设计
据库表设计及优化初步——项目中的数据库表究竟怎么设计?如何提高查询效率?
1.Mybaits的使用
- mybatis 是一个优秀的基于 java 的持久层框架,主要应用于关系型数据库(sql),它内部封装了 jdbc,使开发者只需要关注 sql 语句本身,而不需要花费精力去处理加载驱动、创建连接、创建 statement ,封装数据等繁杂的过程。
- mybatis 通过 xml 或注解的方式将要执行的各种 statement 配置起来,并通过 java 对象和 statement 中sql 的动态参数进行映射生成最终执行的 sql 语句,最后由 mybatis 框架执行 sql 并将结果映射为 java 对象并返回。
- 采用 ORM 思想解决了实体和数据库映射的问题,对 jdbc 进行了封装,屏蔽了 jdbc api 底层访问细节,使我们不用与 jdbc api 打交道,就可以完成对数据库的持久化操作。
Mybatis学习(1)——mybatis介绍 & 入门案例 & 全局配置文件详解 & 增删改查 + mybatis事务 & mapper.xml文件#{} 和 ${} & 动态SQL入门
Mybatis进阶(2)——为什么用mybatis?& 多表查询解决 & 延迟加载 & mybatis缓存
Mybatis应用(3)——mybatis框架使用 & mybatis项目应用初步 & mybatis使用报错集锦
2.Mybatis-Plus的使用
- MyBatis-Plus使用——配置yml参数 & 常用的注解@Table,@TableId,@IdType,@TableField,CRUD的API接口
- MyBatis-Plus多数据源——如何在一个项目中使用多个MySQL数据库
3.JPA的使用
Java Persistence APl(JPA)——JPA是啥?& SpringBoot整合JPA & JPA的增删改查 & 条件模糊查询 & 多对一查询
扩展其他数据库
1.PostgreSQL数据库
PostgreSQL数据库——Docker版本的postgres安装 & Navicat连接方式+导入向导使用 & SpringBoot结合Jpa使用PostgreSQL初步
2.图数据库Neo4j
MySQL集群主从搭建
1.本地搭建demo
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数软件测试工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上软件测试开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注软件测试)
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
战项目、讲解视频,并且后续会持续更新**
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注软件测试)
[外链图片转存中…(img-h3GGlVrg-1712927208762)]
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!