- 001_课程引入
- 002_为什么学习数据库
- 003_数据库的相关概念
- 004_数据库存储数据的特点
- 005_MySQL软件的介绍
- 006_MySQL软件的卸载
- 007_MySQL软件的安装
- 008_配置文件介绍
- 009_MySQL服务的启动和停止
- 010_MySQL服务端的登录和退出
- 011_配置环境变量
- 012_MySQL常见命令介绍
- 013_查看MySQL服务端版本
- 014_总结MySQL常见命令
- 015_MySQL语法规范介绍
- 016_图形化用户界面客户端的安装
- 017_图形化用户界面客户端的介绍
- 018_myemployees库的四张表介绍
- 019_基础查询介绍
- 020_查询表中的字段
- 021_查询时的细节注意补充
- 022_查询常量、表达式、函数
- 023_起别名
- 024_去重
- 025_+号的作用
- 026_使用concat实现连接
- 027_【案例讲解】基础查询
- 028_条件查询介绍
- 029_条件运算符的使用
- 030_逻辑运算符的使用
- 031_模糊查询—like关键字
- 032_模糊查询—between and关键字
- 033_模糊查询—in关键字
- 034_模糊查询—is null关键字
- 035_【补充】安全等于的介绍
- 036_【案例讲解】条件查询
- 037_测试题1讲解
- 038_复习前一天内容
- 039_排序查询介绍
- 040_排序查询示例
- 041_排序查询总结
- 042_【案例讲解】排序查询
- 043_常见函数介绍
- 044_单行函数分类
- 045_字符函数
- 046_数学函数
- 047_日期函数
- 048_其他函数
- 049_流程控制函数-if函数
- 050_流程控制函数-case结构
- 051_单行函数总结
- 052_【案例讲解】单行函数
- 053_分组函数的介绍
- 054_分组函数的使用特点
- 055_分组函数和distinct搭配使用
- 056_count函数的具体介绍
- 057_分组函数使用的其他注意事项
- 058_【案例讲解】分组函数
- 059_分组查询的介绍
- 060_分组查询—简单使用
- 061_分组查询—添加分组前筛选
- 062_分组查询—添加分组后筛选
- 063_分组查询—添加筛选的总结
- 064_分组查询—按函数分组
- 065_分组查询—按多个字段分组
- 066_分组查询—添加排序
- 067_分组查询总结
- 068_【案例讲解】分组查询
- 069_连接查询—笛卡尔乘积
- 070_连接查询的分类
- 071_等值连接的介绍
- 072_等值连接的示例
- 073_非等值连接
- 074_自连接
- 075_测试题2讲解
- 076_复习前一天内容
- 077_作业讲解
- 078_sql99语法介绍
- 079_sql99语法—等值连接
- 080_sql99语法—非等值连接
- 081_sql99语法—自连接
- 082_sql99语法—左(右)外连接
- 083_全外连接
- 084_交叉连接
- 085_总结连接查询
- 086_【案例讲解】多表连接
- 087_子查询介绍
- 088_where后面的标量子查询使用
- 089_where后面的列子查询使用
- 090_where后面的行子查询使用
- 091_select后面的子查询使用
- 092_from后面的子查询使用
- 093_exists后面的子查询使用
- 094_【案例讲解】子查询
- 095_分页查询
- 096_测试题3讲解
- 097_复习前一天内容
- 098_子查询经典案例讲解
- 099_作业讲解
- 100_联合查询介绍
- 101_联合查询的特点
- 102_插入语句的方式一
- 103_插入语句的方式二
- 104_两种插入方式大pk
- 105_修改单表的记录
- 106_修改多表的记录
- 107_删除语句的介绍
- 108_删除方式一
- 109_删除方式二
- 110_【案例讲解】数据的增删改
- 111_DDL语言的介绍
- 112_库的管理
- 113_表的创建
- 114_表的修改
- 115_表的删除
- 116_表的复制
- 117_【案例讲解】库和表的管理
- 118_数据类型介绍
- 119_整型
- 120_浮点型
- 121_字符型
- 122_日期型
- 123_当天内容重点介绍
- 124_复习前一天内容
- 125_常见约束的介绍
- 126_创建表时添加列级约束
- 127_创建表时添加表级约束
- 128_主键和唯一的区别
- 129_外键的特点
- 130_修改表时添加约束
- 131_修改表时删除约束
- 132_【案例讲解】常见约束
- 133_标识列
- 134_事务的介绍
- 135_演示事务的使用步骤
- 136_事务并发问题的介绍
- 137_演示事务的隔离级别
- 138_回滚点的演示
- 139_视图的介绍
- 140_视图的创建
- 141_视图的修改
- 142_视图的查看和删除
- 143_【案例讲解】视图的创建
- 144_视图的更新
- 145_视图和表的对比
- 146_演示delete和truncate在事务中的区
- 147_测试题讲解
- 148_复习前一天内容
- 149_变量的介绍
- 150_系统变量的介绍和语法
- 151_全局变量的演示
- 152_会话变量的演示
- 153_自定义变量—用户变量
- 154_自定义变量—局部变量
- 155_存储过程的介绍
- 156_存储过程的语法
- 157_空参的存储过程
- 158_带in模式的存储过程
- 159_带out模式的存储过程
- 160_带inout模式的存储过程
- 161_【案例讲解】存储过程
- 162_存储过程的删除
- 163_存储过程的查看
- 164_【案例讲解2】存储过程
- 165_函数的介绍
- 166_函数的创建和调用语法
- 167_案例演示函数的使用
- 168_函数的查看和删除
- 169_【案例讲解】函数的使用
- 170_流程控制结构介绍
- 171_分支结构——if函数【复习】
- 172_分支结构—case结构
- 173_分支结构—if结构
- 174_循环结构的介绍
- 175_循环结构的演示
- 176_循环结构的总结
- 177_流程控制经典案例讲解
- 178_小结
- 01.MySQL高级_课程简介
- 02.MySQL高级_MySQL简介
- 03.MySQL高级__RPM安装
- 04.MySQL高级_ROOT密码设置和开机自启动
- 05.MySQL高级_安装位置
- 06.MySQL高级_修改字符集
- 07.MySQL高级_MySQL配置文件
- 08.MySQL高级_MySQL逻辑架构简介
- 09.MySQL高级_存储引擎简介
- 10.MySQL高级_SQL性能下降原因
- 11.MySQL高级_SQL执行加载顺序
- 12.MySQL高级_七种JOIN理论
- 13.MySQL高级_七种JOIN的SQL编写
- 14.MySQL高级_索引是什么
- 15.MySQL高级_索引优势劣势
- 16.MySQL高级_索引分类和建索引命令语句
- 17.MySQL高级_索引结构与检索原理
- 18.MySQL高级_哪些情况适合建索引
- 19.MySQL高级_哪些情况不适合建索引
- 20.MySQL高级_性能分析前提知识
- 21.MySQL高级_explain使用简介
- 22.MySQL高级_explain之id介绍
- 23.MySQL高级_explain之select_type和tabl
- 24.MySQL高级_explain之type介绍
- 25.MySQL高级_explain之possible_keys和ke
- 26.MySQL高级_explain之key_len介绍
- 27.MySQL高级_explain之ref介绍
- 28.MySQL高级_explain之rows介绍
- 29.MySQL高级_explain之Extra介绍
- 30.MySQL高级_explain之热身Case
- 31.MySQL高级_索引单表优化案例
- 32.MySQL高级_索引两表优化案例
- 33.MySQL高级_索引三表优化案例
- 34.MySQL高级_索引优化1
- 35.MySQL高级_索引优化2
- 36.MySQL高级_索引优化3
- 37.MySQL高级_索引优化4
- 38.MySQL高级_索引优化5
- 39.MySQL高级_索引优化6
- 40.MySQL高级_索引优化7
- 41.MySQL高级_索引优化8
- 42.MySQL高级_索引优化9
- 43.MySQL高级_索引优化10
- 44.MySQL高级_索引面试题分析
- 45.MySQL高级_索引优化答疑补充和总结口诀
- 46.MySQL高级_小表驱动大表
- 47.MySQL高级_in和exists
- 48.MySQL高级_为排序使用索引OrderBy优化
- 49.MySQL高级_慢查询日志
- 50.MySQL高级_批量插入数据脚本
- 51.MySQL高级_用Show Profile进行sql分析
- 52.MySQL高级_全局查询日志
- 53.MySQL高级_数据库锁理论概述
- 54.MySQL高级_读锁案例讲解
- 55.MySQL高级_读锁案例讲解2
- 56.MySQL高级_行锁理论
- 57.MySQL高级_行锁案例讲解
- 58.MySQL高级_行锁演示答疑补充
- 59.MySQL高级_索引失效行锁变表锁
- 60.MySQL高级_间隙锁危害
- 61.MySQL高级_如何锁定一行
- 62.MySQL高级_行锁总结
- 63.MySQL高级_主从复制
- 64.MySQL高级_主从复制
- 01_尚硅谷_为什么学习数据库
- 02_尚硅谷_数据库的作用
- 03_尚硅谷_常见数据库产品介绍
- 04_尚硅谷_数据库的相关概念和存储数据的特点
- 05_尚硅谷_MySQL产品的介绍和安装
- 补-05_02mysql软件卸载
- 补-05_03mysql软件安装
- 06_MySQL产品安装目录介绍
- 07_尚硅谷_MySQL服务的启动和停止★
- 08_尚硅谷_MySQL服务的连接和退出★
- 09_尚硅谷_常见sql命令演示
- 10_尚硅谷_SQL语言介绍
- 11_尚硅谷_图形化界面客户端的安装和使用
- 12_尚硅谷_myemployees库中的四张表介绍
- 13_尚硅谷_基础查询(1)
- 14_尚硅谷_基础查询(2)
- 15_尚硅谷_【案例讲解】基础查询
- 16_尚硅谷_条件查询介绍
- 17_尚硅谷_按关系表达式查询
- 18_尚硅谷_按逻辑表达式查询
- 19_尚硅谷_like关键字
- 20_尚硅谷_in关键字
- 21_尚硅谷_between and关键字
- 22_尚硅谷_is null关键字
- 23_尚硅谷_【案例讲解】条件查询
- 24_尚硅谷_排序查询
- 01_尚硅谷_复习前一天内容
- 02_尚硅谷_作业讲解
- 03_尚硅谷_常见函数的介绍
- 04_尚硅谷_字符函数(1)
- 05_尚硅谷_字符函数(2)
- 06_尚硅谷_数学函数
- 07_尚硅谷_日期函数
- 08_尚硅谷_流程控制函数
- 09_尚硅谷_【案例讲解】常见函数
- 10_尚硅谷_分组函数
- 11_尚硅谷_分组查询的引入
- 12_尚硅谷_分组查询
- 13_尚硅谷_SQL92语法:等值连接
- 14_尚硅谷_SQL92语法:非等值连接和自连接
- 15_尚硅谷_SQL99语法:内值连接
- 01_尚硅谷_测试题讲解
- 02_尚硅谷_复习前一天内容
- 03_尚硅谷_SQL99语法:外连接查询
- 04_尚硅谷_总结join连接
- 05_尚硅谷_【案例讲解】外连接查询
- 06_尚硅谷_子查询的介绍
- 07_尚硅谷_【案例讲解】单行子查询
- 08_尚硅谷_多行子查询
- 09_尚硅谷_放在其他位置的子查询
- 10_尚硅谷_分页查询
- 11_尚硅谷_联合查询
- 12_尚硅谷_库的管理
- 13_尚硅谷_表的创建
- 14_尚硅谷_介绍常见的数据类型
- 15_尚硅谷_介绍常见的约束
- 16_尚硅谷_修改表
- 17_尚硅谷_删除表和复制表
- 01_-尚硅谷_测试题讲解
- 02_-尚硅谷_复习前一天内容
- 03_尚硅谷_【案例讲解】子查询
- 04_尚硅谷_DML:插入数据
- 05_尚硅谷_DML:自增长列
- 06_尚硅谷_DML:删除数据
- 07_尚硅谷_DCL:事务的演示
- 08_尚硅谷_JDBC的介绍
- 09_尚硅谷_通过案例演示JDBC的使用步骤
- 10_尚硅谷_讲解步骤1:注册驱动
- 11_尚硅谷_讲解步骤2:获取连接
- 12_尚硅谷_讲解步骤3:执行增删改查
- 13_尚硅谷_PreparedStatement和Statement的区别
- 14_尚硅谷_总结JDBC相关API
- 01_尚硅谷_测试题讲解
- 02_尚硅谷_复习前一天内容
- 03_封装JDBCUtils工具类
- 04_尚硅谷_演示事务
- 05_尚硅谷_演示批处理
- 06_尚硅谷_演示Blob类型数据的读写
- 07_尚硅谷_数据库连接池的使用(1)
- 08_尚硅谷_数据库连接池的使用(2)
- 09_尚硅谷_自己封装通用的增删改查【了解】
- 10_尚硅谷_DBUtils的使用
- 11_尚硅谷_【案例讲解】使用DBUtils实现查询任意表
- 12_尚硅谷_封装BasicDao
- 01mysql简介安装
- 02字符集、权限问题
- 03逻辑架构
- 04存储引擎
- 05sql预热上
- 06sql预热下
- 07索引简介、结构
- 08索引分类
- 09Explain
- 10批量创建数据
- 11单表索引优化
- 12关联、子查询索引优化
- 13排序分组优化上
- 14排序分组优化下
- 15 8个sql上
- 16 8个sql下
- 17 查询截取分析
- 18 视图
- 19 主从复制
- 20 mycat简介安装、读写分离
- 21 mycat分库
- 22 mycat分表上
- 23 mycat分表下
- 24全局序列
从零开始学习 MySQL,主要是面向 MySQL 数据库管理系统初学者。前端开发工程师为什么写这个入门教程呢?最近项目强迫我这个前端老司机使用 MySQL,虽然我在项目中已经使用过一段时间,为了写出高质量的 SQL 语句,能快速定位解决数据库引发的问题,系统的过一遍基础,你也可以当做是我的笔记。有幸也认识一些 MySQL 的 DBA,这让我学习起来比较快,能快速入门,进入实战开发阶段。
原本我是使用 MongoDB 这类型的 NoSQL 数据库,MongoDB在 Nodejs 在 Mongoose 包的帮助下 JSON 的数据格式直接插入 MongoDB 中,对于一个前端开发工程师,使用起来非常舒服。但是没有办法,我是被逼的,从此入了一个新坑,我就决心系统的好好学习一下。如果你对本小电子书阅读非常没有耐心,你可以看看我做的一篇笔记 《21分钟MySQL基础入门》 ,这个笔记还可以在 SegmentFault 里面阅读,有导航阅读非常方便,为什么只需要21分钟呢?因为在我们大天朝有句话叫做“不管三七二十一”,你可以不管三七二十一开始使用 MySQL 及快速入门,里面系统的整理了,一些常用的SQL语句。
在本书中所搜集到得各种资源,我把它将放到这里 Awesome MySQL。所有SQL语句例子,是基于 MySQL 5.7.14 或者 MySQL 5.7.16 运行的。这里面的一些理论知识都是从维基百科等各种百科、各种官网搬运过来的,偶尔会有一些基础理论知识总结,如果有错误或者误差,可以给我来个疯狂的 Pull requesets 或 Issue。如果实在看不下去你可以🔫。
MariaDB,是 MySQL server 的一个由社区开发的分支,MariaDB 大部分跟 MySQL 5.5 以前版本使用差不多。自己电脑上是 MySQL 5.7.14,公司服务器上面是 MariaDB 最新版本,生产上 MySQL 5.7.16,所以很尴尬,偶尔提及 MariaDB 也是很正常的吧。
目录
Awesome MySQL
手册文档 - 一些非官方的手册文档搜集
分析工具 - 性能,结构和数据分析工具
GUI - 搜集的一些 MySQL 的客户端,也有命令行客户端
服务器 - MySQL服务器的衍生品
备份 - 备份/存储/恢复 工具
官方资料 - 官方的一些网站和文章
优秀文章 - 一些优秀的文章
第1章 初识 MySQL
1.1 数据库基础
什么是数据库
数据库分类
数据库模型
数据表
关系键
1.2 数据库技术构成
数据库系统
关系数据库基本概念
SQL 语言
数据库访问技术
1.3 什么是 MySQL
MySQL 介绍
MySQL 发展历史
MySQL 版本
MySQL 的优势
1.4 如何学习 MySQL
第2章 MySQL 的安装与配置
2.1 Mac 平台下安装与配置 MySQL
Mac 上安装 MySQL
Mac 上卸载 MySQL
2.2 Centos 平台安装与卸载 MySQL
检查是否已安装
更新安装源
检查是否下载成功
查看版本
启动指定版本
安装 MySQL
查看安装目录
MariaDB 切换 MySQL
卸载 MySQL 软件
2.3 启动数据库设置初始密码
命令行启动关闭重启 MySQL 服务
图像界面启动关闭重启 MySQL 服务
查看初始密码
设置初始化密码
启动报错处理
2.4 MySQL 工具
命令行使用程序
MySQL Workbench 客户端
常用图形管理工具
MyCli 替代 MySQL 的 mysql 命令行工具
2.5 MySQL 配置修改
第3章 数据库的基本操作
3.1 连接数据库
MySQL命令语法
MySQL命令连接数据库
开启 MySQL 的远程帐号
MySQL 修改密码
3.2 查看选择数据库
查看数据库
选择数据库
3.3 创建数据库
SQL 语句创建数据库
管理工具创建数据库
3.4 删除数据库
SQL 语句删除数据库
管理工具删除数据库
3.5 数据库存储引擎
第4章 数据表的基本操作
4.1 创建数据表
第5章 数据类型和运算符
第6章 MySQL 函数
第7章 查询数据
第8章 插入、更新与删除数据
第9章 索引
第10章 存储过程和函数
第11章 视图
第12章 MySQL 函数
第13章 MySQL 用户管理
第14章 数据备份与还原
第15章 MySQL日志
第16章 性能优化
第17章 各种问题解决
让 MySQL 支持 emoji 图标存储
Centos6 下升级 MySQL 数据库
MySQL 修改密码
mysqld_safe 不存在修改密码
启动修改丢失的 mysql 单实例 root 密码方法
Mac下重置MySQL的 root 密码
不重启 mysqld 修改密码的方法
Centos7 默认为 MariaDB 导致 mysql 安装不上
mysql 命令不存在
MySQL 服务启动失败解决方案
密码不满足当前的策略要求导致无法开启远程帐号
读者对象
整本书目录规划参考了其它几本 MySQL 书籍目录规划的,在我边学习边整理的过程可能有修改,这个过程有点慢,希望能完成,所以教程适合以下读者学习阅读使用:
MySQL 数据库初学者。
对数据库开发感兴趣,希望快速、全面掌握 MySQL 的人员。
对其他数据库有一定的了解,想转到 MySQL 平台使用它的开发者。
像我一样被逼无奈使用 MySQL 数据库的人。
从目录来看,看上去内容丰富,比较完整的介绍了 MySQL 数据库技术的教程,我不是DBA,我不是,正在看这篇文章的你,很可能也不是,不想误人子弟,在项目中应用了一段时间 MySQL,如果你是DBA请多多指教,文采不佳还望高抬贵手,不甚感激,小弟在这里给您鞠躬,欢迎给我纠错。