码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【合集】MySQL的入门进阶强化——从 普通人 到 超级赛亚人 的 华丽转身


    前言

    SQL(Structured Query Language)是一种用于管理关系型数据库的标准化语言,它用于定义、操作和管理数据库中的数据。SQL是一种通用的语言,可以用于多种关系型数据库管理系统(RDBMS),如MySQL、Oracle、SQL Server等。

    MySQL是一种开源的关系型数据库管理系统,它使用SQL作为其查询语言。MySQL是最流行的开源数据库之一,它具有高性能、可靠性和可扩展性。MySQL支持多用户、多线程和多表操作,可以在各种操作系统上运行。

    MySQL最为最流行的开源数据库,其重要性不言而喻,也是大多数程序员接触的第一款数据库,深入认识和理解MySQL也比较重要。

    本篇博客是MySQL相关的学习博客文章的合集篇,涵盖了MySQL从入门到进阶,再到强化的相关内容。

    目录

    • 前言
    • 引出
    • MySQL基本概念和基本语句
      • 1.基本查询
      • 2.回望MySQL
      • 3.JDBC
    • MySQL进阶
      • 1.存储过程store procedure
      • 2.MySQL的事务初步
      • 3.再论事务【深入阐述】
      • 4.MySQL的索引
      • 5.MyISAM和InnoDB引擎
    • MySQL应用
      • 0.数据库表设计
      • 1.Mybaits的使用
      • 2.Mybatis-Plus的使用
      • 3.JPA的使用
    • 扩展其他数据库
      • 1.PostgreSQL数据库
      • 2.图数据库Neo4j
    • MySQL集群主从搭建
      • 1.本地搭建demo
      • 2.云服务器搭建实战
    • 总结

    引出


    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

    Java连接SQL数据库 & 单例封装数据库

    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比单纯的加锁更高效;

    特性InnoDBMyISAM
    事务安全支持无
    存储限制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

    • 图数据库Neo4j——Neo4j简介、数据结构 & Docker版本的部署安装 & Cypher语句的入门

    • 图数据库Neo4j——SpringBoot使用Neo4j & 简单增删改查 & 复杂查询初步

    MySQL集群主从搭建

    1.本地搭建demo

    MySQL持久化数据——主从分离 & Linux下创建2个MySQL的Docker容器 & 挂载方式启动 & 配置主从

    2.云服务器搭建实战

    redis漏洞回顾 & MySQL数据安全解决 搭建主从集群MySQL & 相关设置


    总结

    本篇博客是MySQL相关的学习博客文章的合集篇,涵盖了MySQL从入门到进阶,再到强化的相关内容。

  • 相关阅读:
    Docker磁盘空间不足如何解决
    Java之@Autowired再分析
    文件操作IO-Part1
    UE5笔记【十】第一个蓝图项目:bluePrint。
    Java框架篇(来自硅谷的面试题)
    abstract抽象 与interface接口
    [面试] 如何保证Redis和MySQL数据一致性?
    [附源码]计算机毕业设计JAVAjsp-线上摄影平台系统
    白光迈克尔逊干涉仪
    kube-apiserver资源注册
  • 原文地址:https://blog.csdn.net/Pireley/article/details/133816035
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号