- 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請多多指教,文采不佳還望高抬貴手,不甚感激,小弟在這里給您鞠躬,歡迎給我糾錯。