大佬精心汇总MySQL系列文档,看完不亏! 涵盖基础到进阶所有的知识点!

本文为MySQL学习提供全面指导,从基础知识到高级应用,涵盖SQL语法、数据类型、事务管理、索引优化等内容,帮助读者深入理解MySQL及其应用场景。

一、为什么要学MySQL

1、MySQL是什么

MySQL是一个关系型数据库管理系统,号称:全球最受欢迎的开源数据库,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的关系数据库管理系统应用软件之一(不谈论形而上学的问题,比如什么数据库最好)。

2、都谁再用MySQL

MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言,由于体积小、速度快、总体拥有成本低,尤其是开放源码这一特点被很多互联网公司青睐,互联网公司的业务增长是指数级爆发式的增长。通过架构选型,最早像阿里、腾讯、百度等等国内外的互联网巨头纷纷选择用开源数据库MySQL。

包括 Facebook、Twitter 在内的许多世界上最大和发展最快的组织都依赖 MySQL 来节省时间和金钱来支持他们的大容量网站、关键业务系统和打包软件。

二、MySQL要学习什么?

“物有本末,事有终始,知所先后,则近道矣。”

学习MySQL首先需要一些入门知识,包括 MySQL 的历史背景、语法(CRUD、读写锁、事务、数据)、MySQL 的框架、多版本并发控制、存储引擎(InnoDB、MyISAM)等等基础知识。

有了这些知识的铺垫,我们可以更上一层楼,学习 MySQL 的工作原理,MySQL 的性能优化,MySQL 故障诊断和服务器问题分析等等。

同时要想设计一个好的数据库,对 MySQL 的物理设计的了解不可或缺,这关系到数据库的逻辑设计和物理设计,例如:如何建一个扩展性好的表,利用 MySQL 优化器、查询缓存等等。

MySQL 的软件源码和硬件设计了解之后,就要考虑如何配合我的应用程序工作,例如针对不同的项目如何配置 MySQL 才能更好的利用硬件资源,操作系统和 MySQL 的联系,学习了这些算是覆盖了 MySQL 基础和使用,MySQL 内部是如何实现的。

这时候我们算是对 MySQL 有了全方位的了解,最后在架构层面需要考虑整个应用架构的鲁棒性高可用高并发高性能高安全的设计。

MySQL主从同步、主主同步(多个服务器从一台主服务器同步数据),该怎么改善应用系统扩展性、高可用(如何保障 MySQL 稳定而正确地持续运行,例如:停电、火灾、无法抵御的恶意攻击、数据库备份与恢复,减少宕机时间),要想设计一款好的产品,程序员应该具备那些产品思维,从用户体验开始设计数据库。

这里给大家分享一份大佬整理的mysql系列文档,涵盖基础到进阶所有的MySQL知识点,看完之后绝对不亏!颠覆你的认知。**

第1篇:MySQL的一些基础知识

这是mysql系列第1篇。

本文主要内容

1. 背景介绍

2. 数据库基础知识介绍

3. mysql的安装

4. mysql常用的一些命令介绍

5. SQL分类

第2篇:MySQL中数据类型介绍

这是mysql系列第2篇文章。

环境:mysql5.7.25,cmd命令中进行演示。

主要内容

1. 介绍mysql中常用的数据类型

2. mysql类型和java类型对应关系

3. 数据类型选择的一些建议

第3篇:MySQL管理员常用的一些命令

这是mysql系列第3篇文章。

环境:mysql5.7.25,cmd命令中进行演示。

在玩mysql的过程中,经常遇到有很多朋友在云上面玩mysql的时候,说我创建了一个用户为什么不能 登录?为什么没有权限?等等各种问题,本文看完之后,这些都不是问题了。

本文主要内容

1. 介绍Mysql权限工作原理

2. 查看所有用户

3. 创建用户

4. 修改密码

5. 给用户授权

6. 查看用户权限

7. 撤销用户权限

8. 删除用户

9. 授权原则说明

10. 总结

第4篇:DDL常见操作汇总

这是Mysql系列第4篇。

环境:mysql5.7.25,cmd命令中进行演示。

DDL:Data Define Language数据定义语言,主要用来对数据库、表进行一些管理操作。如:建库、删库、建表、修改表、删除表、对列的增删改等等。

文中涉及到的语法用[]包含的内容属于可选项,下面做详细说明。

第5篇:DML常见操作

这是Mysql系列第5篇。

环境:mysql5.7.25,cmd命令中进行演示。

DML(Data Manipulation Language)数据操作语言,以INSERT、UPDATE、DELETE三种指令为核心, 分别代表插入、更新与删除,是必须要掌握的指令,DML和SQL中的select熟称CRUD(增删改查)。

文中涉及到的语法用[]包含的内容属于可选项,下面做详细说明。

第6篇:select查下基础篇

这是Mysql系列第6篇。

环境:mysql5.7.25,cmd命令中进行演示。

DQL(Data QueryLanguage):数据查询语言,通俗点讲就是从数据库获取数据的,按照DQL的语法给数据库发送一条指令,数据库将按需求返回数据。

DQL分多篇来说,本文属于第1篇。

第7篇:select条件查询

这是Mysql系列第7篇。

环境:mysql5.7.25,cmd命令中进行演示。

电商中:我们想查看某个用户所有的订单,或者想查看某个用户在某个时间段内所有的订单,此时我们 需要对订单表数据进行筛选,按照用户、时间进行过滤,得到我们期望的结果。

此时我们需要使用条件查询来对指定表进行操作,我们需要了解sql中的条件查询常见的玩法。

第8篇:排序和分页(order by 、limit)

这是Mysql系列第8篇。

环境:mysql5.7.25,cmd命令中进行演示。

代码中被[]包含的表示可选,|符号分开的表示可选其一。

本章内容

1. 详解排序查询

2. 详解limit

3. limit存在的坑

4. 分页查询中的坑

第9篇:分组查询(group by、having)

这是Mysql系列第9篇。

环境:mysql5.7.25,cmd命令中进行演示。

本篇内容

1. 分组查询语法

2. 聚合函数

3. 单字段分组

4. 多字段分组

5. 分组前筛选数据

6. 分组后筛选数据

7. where和having的区别

8. 分组后排序

9. where & group by & having & order by & limit 一起协作

10. mysql分组中的坑

11. in多列查询的使用

第10篇:mysql常用函数汇总

这是Mysql系列第10篇。

环境:mysql5.7.25,cmd命令中进行演示。

第11篇:深入了解连接查询及原理

这是Mysql系列第11篇。

环境:mysql5.7.25,cmd命令中进行演示。

当我们查询的数据来源于多张表的时候,我们需要用到连接查询,连接查询使用率非常高,希望大家都 务必掌握。

本文内容

1. 笛卡尔积

2. 内连接

3. 外连接

4. 左连接

5. 右连接

6. 表连接的原理

7. 使用java实现连接查询,加深理解

第12篇:子查询(本篇非常重要,高手必备)

这是Mysql系列第12篇。

环境:mysql5.7.25,cmd命令中进行演示。

本章节非常重要。

第13篇:细说NULL导致的神坑,让人防不胜防

这是Mysql系列第13篇。

环境:mysql5.7.25,cmd命令中进行演示。

第14篇:事务详解

这是Mysql系列第14篇。

环境:mysql5.7.25,cmd命令中进行演示。

开发过程中,会经常用到数据库事务,所以本章非常重要。

本篇内容

1. 什么是事务,它有什么用?

2. 事务的几个特性

3. 事务常见操作指令详解

4. 事务的隔离级别详解

5. 脏读、不可重复读、可重复读、幻读详解

6. 演示各种隔离级别产生的现象

7. 关于隔离级别的选择

第15篇:视图

这是Mysql系列第15篇。

环境:mysql5.7.25,cmd命令中进行演示。

第16篇:变量

这是Mysql系列第16篇。

环境:mysql5.7.25,cmd命令中进行演示。

代码中被[]包含的表示可选,|符号分开的表示可选其一。

本文内容

详解系统变量的使用

详解自定义变量的使用

第17篇:存储过程&自定义函数详解

这是Mysql系列第17篇。

环境:mysql5.7.25,cmd命令中进行演示。

本文内容

详解存储过程的使用

详解自定义函数的使用

第18篇:流程控制语句介绍

这是Mysql系列第18篇。

环境:mysql5.7.25,cmd命令中进行演示。

代码中被[]包含的表示可选,|符号分开的表示可选其一。

本篇内容

if函数case语句if结构while循环

repeat循环loop循环

循环体控制语句

第19篇:游标详解

这是Mysql系列第19篇。

环境:mysql5.7.25,cmd命令中进行演示。

代码中被[]包含的表示可选,|符号分开的表示可选其一。

本篇内容

游标定义游标作用

游标使用步骤

游标执行过程详解单游标示例

嵌套游标示例

第20篇:异常捕获及处理详解

这是Mysql系列第20篇。

环境:mysql5.7.25,cmd命令中进行演示。

代码中被[]包含的表示可选,|符号分开的表示可选其一。

本篇内容

异常分类详解

内部异常详解

外部异常详解

掌握乐观锁解决并发修改数据出错的问题

update影响行数和期望结果不一致时的处理

第21篇:什么是索引?

这是Mysql系列第21篇。

本文开始连续3篇详解mysql索引:

1. 第1篇来说说什么是索引?

2. 第2篇详解Mysql中索引的原理

3. 第3篇结合索引详解关键字explain

第22篇:MySQL索引原理详解

这是Mysql系列第22篇。

第23篇:MySQL索引管理

这是Mysql系列第23篇。

环境:mysql5.7.25,cmd命令中进行演示。

代码中被[]包含的表示可选,|符号分开的表示可选其一。

第24篇:如何正确的使用索引?

这是Mysql系列第24篇。

学习索引,主要是写出更快的sql,当我们写sql的时候,需要明确的知道sql为什么会走索引?为什么有 些sql不走索引?sql会走那些索引,为什么会这么走?我们需要了解其原理,了解内部具体过程,这样 使用起来才能更顺手,才可以写出更高效的sql。本篇我们就是搞懂这些问题。

第25篇:sql中的where条件在数据库中提取与应用浅析

这是Mysql系列第25篇。

第26篇:聊聊如何使用MySQL实现分布式锁

这是Mysql系列第26篇。

本篇我们使用mysql实现一个分布式锁。

第27篇:MySQL如何确保数据不丢失的?有几点我们可以借鉴

这是Mysql系列第27篇。

本篇文章我们先来看一下mysql是如何确保数据不丢失的,通过本文我们可以了解mysql内部确保数据 不丢失的原理,学习里面优秀的设计要点,然后我们再借鉴这些优秀的设计要点进行实践应用,加深理解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值