清華數(shù)據(jù)庫(kù)技術(shù)叢書MYSQL 5.7從入門到實(shí)戰(zhàn)(視頻教學(xué)版) 版權(quán)信息
- ISBN:9787302498506
- 條形碼:9787302498506 ; 978-7-302-49850-6
- 裝幀:一般膠版紙
- 冊(cè)數(shù):暫無(wú)
- 重量:暫無(wú)
- 所屬分類:>
清華數(shù)據(jù)庫(kù)技術(shù)叢書MYSQL 5.7從入門到實(shí)戰(zhàn)(視頻教學(xué)版) 本書特色
MySQL是世界上*受歡迎的數(shù)據(jù)庫(kù)管理系統(tǒng)之一,其高效、穩(wěn)定、靈活、可擴(kuò)展性強(qiáng)并且簡(jiǎn)單易學(xué),這些特性使其在全球獲得越來(lái)越多開發(fā)人員的青睞。與其他數(shù)據(jù)庫(kù)相比,MySQL易學(xué)易用。通過(guò)本書的學(xué)習(xí),讀者可以輕松掌握*前沿的MySQL技術(shù),為以后高級(jí)特性的學(xué)習(xí)和應(yīng)用程序的開發(fā)夯實(shí)數(shù)據(jù)庫(kù)應(yīng)用基礎(chǔ)。
《MySQL 5.7從入門到實(shí)戰(zhàn)》以零基礎(chǔ)講解為宗旨,以MySQL 5.7為藍(lán)本,通過(guò)實(shí)例講解MySQL的各項(xiàng)技術(shù)及實(shí)戰(zhàn)技能。
《MySQL 5.7從入門到實(shí)戰(zhàn)》沒(méi)有枯燥的理論介紹,而是通過(guò)不同難度的案例結(jié)合,比較全面地介紹MySQL數(shù)據(jù)庫(kù)技術(shù)。
《MySQL 5.7從入門到實(shí)戰(zhàn)》適合任何想學(xué)習(xí)MySQL的人員,無(wú)論你是否從事計(jì)算機(jī)相關(guān)行業(yè),無(wú)論你是否接觸過(guò)MySQL數(shù)據(jù)庫(kù),通過(guò)本書的學(xué)習(xí)都可快速掌握MySQL管理和開發(fā)的方法和技巧。
清華數(shù)據(jù)庫(kù)技術(shù)叢書MYSQL 5.7從入門到實(shí)戰(zhàn)(視頻教學(xué)版) 內(nèi)容簡(jiǎn)介
MySQL是世界上很受歡迎的數(shù)據(jù)庫(kù)管理系統(tǒng)之一,其高效、穩(wěn)定、靈活、可擴(kuò)展性強(qiáng)并且簡(jiǎn)單易學(xué),這些特性使它在優(yōu)選獲得越來(lái)越多開發(fā)人員的青睞。本書結(jié)合不同難度的案例,全面介紹MySQL的各項(xiàng)技術(shù)及實(shí)戰(zhàn)技能。通過(guò)本書的學(xué)習(xí),讀者可以輕松掌握很前沿的MySQL技術(shù),為以后不錯(cuò)特性的學(xué)習(xí)和應(yīng)用程序的開發(fā)夯實(shí)數(shù)據(jù)庫(kù)基礎(chǔ)。本版分為3篇20章?壳捌榻BMySQL的基礎(chǔ)知識(shí),包括數(shù)據(jù)庫(kù)與MySQL概述、MySQL的安裝與配置、數(shù)據(jù)庫(kù)的操作、數(shù)據(jù)表的操作、MySQL的數(shù)據(jù)操作、MySQL的數(shù)據(jù)類型、MySQL的運(yùn)算符、MySQL的單表/多表查詢、索引、視圖、存儲(chǔ)過(guò)程和函數(shù)、觸發(fā)器、事務(wù)和鎖等內(nèi)容;第二篇介紹MySQL的不錯(cuò)特性,如用戶安全管理、數(shù)據(jù)庫(kù)備份和恢復(fù)、日志管理等;第三篇學(xué)習(xí)MySQL實(shí)戰(zhàn)開發(fā)相關(guān)的內(nèi)容!禡ySQL 5.7從入門到實(shí)戰(zhàn)》是入門MySQL的好書,相信豐富的示例能夠成為讀者必要的參考資料,是MySQL初學(xué)者不錯(cuò)的優(yōu)選。
清華數(shù)據(jù)庫(kù)技術(shù)叢書MYSQL 5.7從入門到實(shí)戰(zhàn)(視頻教學(xué)版) 目錄
目 錄
**篇 MySQL基礎(chǔ)
第1章 數(shù)據(jù)庫(kù)與MySQL 3
1.1 認(rèn)識(shí)數(shù)據(jù)庫(kù) 3
1.1.1 我們?yōu)槭裁幢仨殞W(xué)習(xí)數(shù)據(jù)庫(kù) 3
1.1.2 數(shù)據(jù)庫(kù)技術(shù)經(jīng)歷的階段 4
1.1.3 數(shù)據(jù)庫(kù)管理系統(tǒng)提供的功能 5
1.2 當(dāng)前流行的數(shù)據(jù)庫(kù) 6
1.2.1 Oracle 7
1.2.2 SQL Server 7
1.2.3 IBM的DB2 7
1.2.4 MySQL 7
1.2.5 PostgreSQL 7
1.3 數(shù)據(jù)庫(kù)管理系統(tǒng)的基本組成 8
1.3.1 數(shù)據(jù)庫(kù) 8
1.3.2 數(shù)據(jù)表 8
1.3.3 數(shù)據(jù)庫(kù)開發(fā)語(yǔ)言SQL 9
1.4 認(rèn)識(shí)MySQL數(shù)據(jù)庫(kù) 10
1.4.1 MySQL與開源文化 10
1.4.2 MySQL發(fā)展歷史 10
1.4.3 使用MySQL的優(yōu)勢(shì) 11
1.4.4 MySQL集群 12
1.5 經(jīng)典習(xí)題與面試題 14
1.6 本章小結(jié) 15
第2章 MySQL的安裝與配置 16
2.1 Windows平臺(tái)下安裝與配置MySQL 16
2.1.1 安裝MySQL 5.7 16
2.1.2 配置MySQL 5.7 20
2.1.3 啟動(dòng)MySQL服務(wù) 26
2.1.4 關(guān)閉MySQL服務(wù) 28
2.1.5 配置Path變量 29
2.1.6 登錄MySQL數(shù)據(jù)庫(kù) 30
2.2 Linux平臺(tái)下安裝與配置MySQL 31
2.2.1 安裝和配置MySQL 5.7 31
2.2.2 啟動(dòng)MySQL服務(wù) 34
2.2.3 登錄MySQL數(shù)據(jù)庫(kù) 36
2.3 Mac OS X平臺(tái)下安裝與配置MySQL 36
2.3.1 安裝MySQL 5.7 36
2.3.2 啟動(dòng)MySQL 5.7 39
2.3.3 配置和登錄MySQL 5.7 40
2.4 MySQL常用圖形管理工具 41
2.4.1 MySQL官方客戶端MySQL-Workbench 41
2.4.2 SQLyog圖形管理工具 45
2.4.3 Navicat圖形管理工具 48
2.4.4 小結(jié) 52
2.5 使用免安裝的MySQL軟件 52
2.5.1 Windows平臺(tái)使用免安裝的MySQL 5.7 52
2.5.2 Linux平臺(tái)使用免安裝的MySQL 5.7 54
2.5.3 Mac OS X平臺(tái)使用免安裝的MySQL 5.7 56
2.6 MySQL安裝中的常見問(wèn)題 59
2.7 綜合示例—MySQL的安裝 59
2.8 經(jīng)典習(xí)題與面試題 61
2.9 本章小結(jié) 61
第3章 數(shù)據(jù)庫(kù)操作 62
3.1 圖形化界面操作數(shù)據(jù)庫(kù) 62
3.1.1 創(chuàng)建數(shù)據(jù)庫(kù) 62
3.1.2 刪除數(shù)據(jù)庫(kù) 64
3.2 命令行界面操作數(shù)據(jù)庫(kù) 64
3.2.1 創(chuàng)建數(shù)據(jù)庫(kù) 64
3.2.2 查看數(shù)據(jù)庫(kù) 65
3.2.3 選擇數(shù)據(jù)庫(kù) 65
3.2.4 刪除數(shù)據(jù)庫(kù) 65
3.3 什么是存儲(chǔ)引擎 66
3.3.1 MySQL支持的存儲(chǔ)引擎 67
3.3.2 InnoDB存儲(chǔ)引擎 69
3.3.3 MyISAM存儲(chǔ)引擎 69
3.3.4 MEMORY存儲(chǔ)引擎 70
3.3.5 選擇存儲(chǔ)引擎 70
3.4 綜合示例—數(shù)據(jù)庫(kù)的創(chuàng)建和刪除 71
3.5 經(jīng)典習(xí)題與面試題 72
3.6 本章小結(jié) 73
第4章 表操作 74
4.1 數(shù)據(jù)表的設(shè)計(jì)理念 74
4.2 創(chuàng)建表 76
4.2.1 創(chuàng)建表的語(yǔ)法形式 76
4.2.2 通過(guò)SQLyog創(chuàng)建表 78
4.3 查看表結(jié)構(gòu) 80
4.3.1 DESCRIBE語(yǔ)句查看表定義 80
4.3.2 SHOW CREATE TABLE語(yǔ)句查看表詳細(xì)定義 81
4.3.3 通過(guò)SQLyog查看表 82
4.4 刪除表 83
4.4.1 刪除表的語(yǔ)法形式 83
4.4.2 通過(guò)SQLyog刪除表 84
4.5 修改表 86
4.5.1 修改表名—使用RENAME 86
4.5.2 修改表名—通過(guò)SQLyog 87
4.5.3 增加字段—在表的*后一個(gè)位置增加 88
4.5.4 增加字段—在表的**個(gè)位置增加 89
4.5.5 增加字段—在表的指定字段之后增加 91
4.5.6 增加字段—通過(guò)SQLyog 92
4.5.7 刪除字段—使用DROP 93
4.5.8 刪除字段—通過(guò)SQLyoug 94
4.5.9 修改字段—修改數(shù)據(jù)類型 95
4.5.10 修改字段—修改字段的名字 96
4.5.11 修改字段—同時(shí)修改字段的名字和類型 97
4.5.12 修改字段—修改字段的順序 98
4.5.13 修改字段—通過(guò)SQLyog 99
4.6 操作表的約束 101
4.6.1 設(shè)置表字段的非空約束(NOT NULL,NK) 102
4.6.2 設(shè)置表字段的默認(rèn)值(DEFAULT) 103
4.6.3 設(shè)置表字段唯一約束(UNIQUE,UK) 104
4.6.4 設(shè)置表字段的主鍵(PRIMARY KEY,PK)約束 105
4.6.5 設(shè)置表字段值自動(dòng)增加(AUTO_INCREMENT) 109
4.6.6 設(shè)置表字段的外鍵(FOREIGN KEY,F(xiàn)K)約束 110
4.7 綜合示例—?jiǎng)?chuàng)建一個(gè)學(xué)籍?dāng)?shù)據(jù)庫(kù)和學(xué)生信息表 112
4.8 經(jīng)典習(xí)題與面試題 115
4.9 本章小結(jié) 116
第5章 MySQL的數(shù)據(jù)操作 117
5.1 插入數(shù)據(jù)記錄 117
5.1.1 插入完整數(shù)據(jù)記錄 117
5.1.2 插入數(shù)據(jù)記錄一部分 119
5.1.3 插入多條完整數(shù)據(jù)記錄 120
5.1.4 插入多條部分?jǐn)?shù)據(jù)記錄 122
5.1.5 插入查詢結(jié)果 123
5.1.6 通過(guò)SQLyog來(lái)插入數(shù)據(jù)記錄 125
5.2 更新數(shù)據(jù)記錄 128
5.2.1 更新特定數(shù)據(jù)記錄 128
5.2.2 更新所有數(shù)據(jù)記錄 129
5.2.3 通過(guò)SQLyog來(lái)更新數(shù)據(jù)記錄 131
5.3 刪除數(shù)據(jù)記錄 133
5.3.1 刪除特定數(shù)據(jù)記錄 133
5.3.2 刪除所有數(shù)據(jù)記錄 135
5.3.3 通過(guò)SQLyog刪除數(shù)據(jù)記錄 136
5.4 綜合示例—學(xué)生表的數(shù)據(jù)操作 139
5.5 經(jīng)典習(xí)題與面試題 142
5.6 本章小結(jié) 143
第6章 MySQL的數(shù)據(jù)類型 144
6.1 整數(shù)類型 144
6.2 浮點(diǎn)數(shù)類型和定點(diǎn)數(shù)類型 145
6.3 日期與時(shí)間類型 146
6.4 字符串類型 147
6.4.1 CHAR類型和VARCHAR類型 147
6.4.2 TEXT類型 148
6.4.3 ENUM類型 149
6.4.4 SET類型 149
6.5 二進(jìn)制類型 149
6.5.1 BINARY和VARBINARY類型 150
6.5.2 BIT類型 150
6.5.3 BLOB類型 150
6.6 如何選擇數(shù)據(jù)類型 151
6.7 經(jīng)典習(xí)題與面試題 152
6.8 本章小結(jié) 153
第7章 MySQL運(yùn)算符 154
7.1 運(yùn)算符簡(jiǎn)介 154
7.2 算術(shù)運(yùn)算符 155
7.3 比較運(yùn)算符 159
7.3.1 常用比較運(yùn)算符 159
7.3.2 特殊功能的比較運(yùn)算符 161
7.4 邏輯運(yùn)算符 165
7.5 位運(yùn)算符 167
7.6 運(yùn)算符的優(yōu)先級(jí) 169
7.7 綜合示例—運(yùn)算符的使用 170
7.8 經(jīng)典習(xí)題與面試題 172
7.9 本章小結(jié) 173
第8章 單表查詢 174
8.1 基本數(shù)據(jù)記錄查詢 174
8.1.1 查詢所有字段數(shù)據(jù) 174
8.1.2 查詢指定字段數(shù)據(jù) 176
8.1.3 避免重復(fù)數(shù)據(jù)查詢 177
8.1.4 實(shí)現(xiàn)數(shù)學(xué)四則運(yùn)算數(shù)據(jù)查詢 178
8.1.5 設(shè)置顯示格式數(shù)據(jù)查詢 180
8.2 條件數(shù)據(jù)記錄查詢 181
8.2.1 查詢指定記錄 182
8.2.2 帶IN關(guān)鍵字的查詢 184
8.2.3 帶BETWEEN AND關(guān)鍵字的查詢 188
8.2.4 帶LIKE的模糊查詢 190
8.2.5 帶IS NULL空值查詢 194
8.2.6 帶AND的多條件查詢 196
8.2.7 帶OR的多條件查詢 197
8.2.8 對(duì)查詢結(jié)果排序 199
8.3 統(tǒng)計(jì)函數(shù)和分組查詢 202
8.3.1 MySQL支持的統(tǒng)計(jì)函數(shù) 202
8.3.2 統(tǒng)計(jì)函數(shù)針對(duì)無(wú)數(shù)據(jù)記錄的表 207
8.3.3 簡(jiǎn)單分組查詢 209
8.3.4 實(shí)現(xiàn)統(tǒng)計(jì)功能分組查詢 211
8.3.5 實(shí)現(xiàn)多個(gè)字段分組查詢 213
8.3.6 實(shí)現(xiàn)HAVING子句限定分組查詢 214
8.4 用LIMIT限制數(shù)據(jù)記錄查詢數(shù)量 216
8.4.1 不指定初始位置 216
8.4.2 指定初始位置 218
8.5 使用正則表達(dá)式查詢 220
8.5.1 查詢以特定字符或字符串開頭的記錄 221
8.5.2 查詢以特定字符或字符串結(jié)尾的記錄 222
8.5.3 用符號(hào)“.”來(lái)替代字符串中的任意一個(gè)字符 223
8.5.4 使用“*”和“+”來(lái)匹配多個(gè)字符 224
8.5.5 匹配指定字符串 225
8.5.6 匹配指定字符串中的任意一個(gè) 227
8.5.7 匹配指定字符以外的字符 229
8.5.8 使用{n,}或者{n,m}來(lái)指定字符串連續(xù)出現(xiàn)的次數(shù) 230
8.6 綜合示例—查詢學(xué)生成績(jī) 231
8.7 經(jīng)典習(xí)題與面試題 238
8.8 本章小結(jié) 240
第9章 多表查詢 241
9.1 關(guān)系數(shù)據(jù)操作 241
9.1.1 并(UNION) 241
9.1.2 笛卡兒積(CARTESIAN PRODUCT) 242
9.2 內(nèi)連接查詢 243
9.2.1 自連接 244
9.2.2 等值連接 246
9.2.3 不等連接 250
9.3 外連接查詢 252
9.3.1 左外連接 253
9.3.2 右外連接 254
9.4 復(fù)合條件連接查詢 255
9.5 合并查詢數(shù)據(jù)記錄 257
9.5.1 帶有關(guān)鍵字UNION的并操作 258
9.5.2 帶有關(guān)鍵字UNION ALL的并操作 261
9.6 子查詢 261
9.6.1 為什么使用子查詢 262
9.6.2 帶比較運(yùn)算符的子查詢 262
9.6.3 帶關(guān)鍵字IN的子查詢 268
9.6.4 帶關(guān)鍵字EXISTS的子查詢 269
9.6.5 帶關(guān)鍵字ANY的子查詢 271
9.6.6 帶關(guān)鍵字ALL的子查詢 275
9.7 綜合示例—查詢學(xué)生成績(jī) 277
9.8 經(jīng)典習(xí)題與面試題 281
9.9 本章小結(jié) 282
第10章 索引 283
10.1 什么是索引 283
10.1.1 索引的含義和特點(diǎn) 283
10.1.2 索引的分類 284
10.1.3 索引的設(shè)計(jì)原則 285
10.2 創(chuàng)建和查看索引 286
10.2.1 普通索引—?jiǎng)?chuàng)建表時(shí)直接創(chuàng)建 286
10.2.2 普通索引—在已經(jīng)存在的表上創(chuàng)建 288
10.2.3 普通索引—通過(guò)ALTER TABLE語(yǔ)句創(chuàng)建 290
10.2.4 唯一索引—?jiǎng)?chuàng)建表時(shí)直接創(chuàng)建 291
10.2.5 唯一索引—在已經(jīng)存在的表上創(chuàng)建 292
10.2.6 唯一索引—通過(guò)ALTER TABLE語(yǔ)句創(chuàng)建 293
10.2.7 全文索引—?jiǎng)?chuàng)建表時(shí)直接創(chuàng)建 294
10.2.8 全文索引—在已經(jīng)存在的表上創(chuàng)建 296
10.2.9 全文索引—通過(guò)ALTER TABLE語(yǔ)句創(chuàng)建 297
10.2.10 多列索引—?jiǎng)?chuàng)建表時(shí)自動(dòng)創(chuàng)建 298
10.2.11 多列索引—在已經(jīng)存在的表上創(chuàng)建 300
10.2.12 多列索引—通過(guò)ALTER TABLE語(yǔ)句創(chuàng)建 301
10.2.13 通過(guò)SQLyog創(chuàng)建和修改索引 302
10.3 刪除索引 307
10.3.1 刪除索引的語(yǔ)法形式 307
10.3.2 通過(guò)SQLyog刪除索引 308
10.4 綜合示例—?jiǎng)?chuàng)建索引 310
10.5 經(jīng)典習(xí)題與面試題 313
10.6 本章小結(jié) 314
第11章 視圖 315
11.1 什么時(shí)候使用視圖 315
11.2 創(chuàng)建視圖 316
11.2.1 創(chuàng)建視圖的語(yǔ)法形式 316
11.2.2 在單表上創(chuàng)建視圖 317
11.2.3 在多表上創(chuàng)建視圖 320
11.2.4 通過(guò)SQLyog創(chuàng)建視圖 322
11.3 查看視圖 324
11.3.1 使用DESCRIBE | DESC語(yǔ)句查看視圖基本信息 324
11.3.2 使用SHOW TABLES語(yǔ)句查看視圖基本信息 325
11.3.3 使用SHOW TABLE STATUS語(yǔ)句查看視圖基本信息 326
11.3.4 使用SHOW CREATE VIEW語(yǔ)句查看視圖詳細(xì)信息 328
11.3.5 在views表中查看視圖詳細(xì)信息 329
11.3.6 使用SQLyog查看視圖信息 329
11.4 修改視圖 332
11.4.1 使用CREATE OR REPLACE VIEW語(yǔ)句修改視圖 332
11.4.2 使用ALTER語(yǔ)句修改視圖 334
11.4.3 通過(guò)SQLyog修改視圖 335
11.5 更新視圖 337
11.5.1 使用SQL語(yǔ)句更新視圖 338
11.5.2 更新基本表后視圖自動(dòng)更新 339
11.5.3 刪除視圖中的數(shù)據(jù) 341
11.5.4 不能更新的視圖 342
11.6 刪除視圖 345
11.6.1 刪除視圖的語(yǔ)法形式 345
11.6.2 通過(guò)SQLyog刪除視圖 347
11.7 綜合示例—視圖應(yīng)用 348
11.8 經(jīng)典習(xí)題與面試題 351
11.9 本章小結(jié) 352
第12章 存儲(chǔ)過(guò)程和函數(shù) 353
12.1 創(chuàng)建存儲(chǔ)過(guò)程和函數(shù) 353
12.1.1 創(chuàng)建存儲(chǔ)過(guò)程 354
12.1.2 創(chuàng)建存儲(chǔ)函數(shù) 357
12.1.3 變量的使用 358
12.1.4 定義條件和處理程序 359
12.1.5 光標(biāo)的使用 361
12.1.6 流程控制的使用 362
12.1.7 通過(guò)SQLyog創(chuàng)建存儲(chǔ)過(guò)程 366
12.2 調(diào)用存儲(chǔ)過(guò)程和函數(shù) 371
12.2.1 調(diào)用存儲(chǔ)過(guò)程 371
12.2.2 調(diào)用存儲(chǔ)函數(shù) 372
12.3 查看存儲(chǔ)過(guò)程和函數(shù) 373
12.3.1 使用SHOW STATUS語(yǔ)句查看存儲(chǔ)過(guò)程和函數(shù)的狀態(tài) 373
12.3.2 使用SHOW CREATE語(yǔ)句查看存儲(chǔ)過(guò)程和函數(shù)的定義 374
12.3.3 從information_schema.Routine表中查看存儲(chǔ)過(guò)程和函數(shù)的信息 375
12.4 修改存儲(chǔ)過(guò)程和函數(shù) 377
12.4.1 修改存儲(chǔ)過(guò)程和函數(shù)的語(yǔ)法 377
12.4.2 使用SQLyog修改存儲(chǔ)過(guò)程和函數(shù) 379
12.5 刪除存儲(chǔ)過(guò)程和函數(shù) 382
12.5.1 刪除存儲(chǔ)過(guò)程和函數(shù)的語(yǔ)法 382
12.5.2 使用SQLyog刪除存儲(chǔ)過(guò)程和函數(shù) 383
12.6 綜合示例—?jiǎng)?chuàng)建存儲(chǔ)過(guò)程和函數(shù) 386
12.7 經(jīng)典習(xí)題與面試題 389
12.8 本章小結(jié) 390
第13章 觸發(fā)器 391
13.1 什么時(shí)候使用觸發(fā)器 391
13.2 創(chuàng)建觸發(fā)器 392
13.2.1 創(chuàng)建有一條執(zhí)行語(yǔ)句的觸發(fā)器 392
13.2.2 創(chuàng)建包含多條執(zhí)行語(yǔ)句的觸發(fā)器 394
13.2.3 通過(guò)SQLyog創(chuàng)建觸發(fā)器 396
13.3 查看觸發(fā)器 399
13.3.1 通過(guò)SHOW TRIGGERS語(yǔ)句查看觸發(fā)器 399
13.3.2 通過(guò)查看系統(tǒng)表triggers實(shí)現(xiàn)查看觸發(fā)器 399
13.3.3 通過(guò)SQLyog查看觸發(fā)器 401
13.4 刪除觸發(fā)器 403
13.4.1 通過(guò)DROP TRIGGER語(yǔ)句刪除觸發(fā)器 403
13.4.2 通過(guò)工具來(lái)刪除觸發(fā)器 404
13.5 綜合示例—?jiǎng)?chuàng)建并使用觸發(fā)器 405
13.6 經(jīng)典習(xí)題與面試題 410
13.7 本章小結(jié) 411
第14章 事務(wù)和鎖 412
14.1 事務(wù)概述 412
14.2 MySQL事務(wù)控制語(yǔ)句 414
14.3 MySQL事務(wù)隔離級(jí)別 416
14.3.1 READ-UNCOMMITED(讀取未提交內(nèi)容) 416
14.3.2 READ-COMMITED(讀取提交內(nèi)容) 417
14.3.3 REPEATABLE-READ(可重讀) 418
14.3.4 SERIALIZABLE(可串行化) 420
14.4 InnoDB鎖機(jī)制 420
14.4.1 鎖的類型 420
14.4.2 鎖粒度 421
14.5 本章小結(jié) 424
第二篇 MySQL高級(jí)應(yīng)用
第15章 用戶安全管理 427
15.1 權(quán)限表 427
15.1.1 user表 427
15.1.2 db表 429
15.1.3 table_priv表和columns_priv表 430
15.1.4 procs_priv表 431
15.2 賬戶管理 432
15.2.1 登錄和退出MySQL服務(wù)器 432
15.2.2 新建普通用戶 434
15.2.3 刪除普通用戶 436
15.2.4 root用戶修改自己的密碼 437
15.2.5 root用戶修改普通用戶的密碼 440
15.2.6 普通用戶修改密碼 443
15.2.7 root用戶密碼丟失的解決辦法 444
15.3 權(quán)限管理 452
15.3.1 MySQL的各種權(quán)限 452
15.3.2 授權(quán) 454
15.3.3 查看權(quán)限 456
15.3.4 收回權(quán)限 458
15.4 訪問(wèn)控制 459
15.4.1 連接核實(shí)階段 459
15.4.2 請(qǐng)求核實(shí)階段 460
15.5 綜合示例—綜合管理用戶權(quán)限 461
15.6 經(jīng)典習(xí)題與面試題 464
15.7 本章小結(jié) 465
第16章 數(shù)據(jù)庫(kù)備份與恢復(fù) 466
16.1 數(shù)據(jù)備份 466
16.1.1 使用mysqldump命令備份一個(gè)數(shù)據(jù)庫(kù) 466
16.1.2 使用mysqldump命令備份一個(gè)數(shù)據(jù)庫(kù)的某幾張表 470
16.1.3 使用mysqldump命令備份多個(gè)數(shù)據(jù)庫(kù) 472
16.1.4 直接復(fù)制整個(gè)數(shù)據(jù)庫(kù)目錄 474
16.2 數(shù)據(jù)恢復(fù) 475
16.2.1 使用MySQL命令恢復(fù) 475
16.2.2 直接復(fù)制到數(shù)據(jù)庫(kù)目錄 476
16.3 數(shù)據(jù)庫(kù)遷移 477
16.3.1 相同版本的MySQL數(shù)據(jù)庫(kù)之間的遷移 477
16.3.2 不同版本的MySQL數(shù)據(jù)庫(kù)之間的遷移 477
16.3.3 不同數(shù)據(jù)庫(kù)之間的遷移 478
16.4 表的導(dǎo)出和導(dǎo)入 478
16.4.1 使用SELECT…INTO OUTFILE導(dǎo)出文本文件 479
16.4.2 使用mysqldump命令導(dǎo)出文本文件 482
16.4.3 使用MySQL命令導(dǎo)出文本文件 487
16.4.4 使用LOAD DATA INFILE方式導(dǎo)入文本文件 491
16.4.5 使用mysqlimport方式導(dǎo)入文本文件 494
16.5 綜合示例—數(shù)據(jù)的備份與恢復(fù) 496
16.6 經(jīng)典習(xí)題與面試題 502
16.7 本章小結(jié) 503
第17章 日志管理 504
17.1 MySQL軟件所支持的日志 504
17.2 操作二進(jìn)制日志 505
17.2.1 啟動(dòng)二進(jìn)制日志 505
17.2.2 查看二進(jìn)制日志 507
17.2.3 使用二進(jìn)制日志恢復(fù)數(shù)據(jù)庫(kù) 508
17.2.4 暫停二進(jìn)制日志 509
17.2.5 刪除二進(jìn)制日志 509
17.3 操作錯(cuò)誤日志 512
17.3.1 啟動(dòng)錯(cuò)誤日志 513
17.3.2 查看錯(cuò)誤日志 513
17.3.3 刪除錯(cuò)誤日志 514
17.4 通用查詢?nèi)罩?515
17.4.1 啟動(dòng)通用查詢?nèi)罩?515
17.4.2 查看通用查詢?nèi)罩?516
17.4.3 停止通用查詢?nèi)罩?517
17.4.4 刪除通用查詢?nèi)罩?518
17.5 慢查詢?nèi)罩?519
17.5.1 啟動(dòng)慢查詢?nèi)罩?519
17.5.2 查看和分析慢查詢?nèi)罩?522
17.5.3 停止慢查詢?nèi)罩?523
17.5.4 刪除慢查詢?nèi)罩?524
17.6 綜合示例—MySQL日志的綜合管理 525
17.7 經(jīng)典習(xí)題與面試題 532
17.8 本章小結(jié) 532
第三篇 MySQL實(shí)戰(zhàn)
第18章 Java操作MySQL數(shù)據(jù)庫(kù) 535
18.1 Java連接MySQL數(shù)據(jù)庫(kù) 535
18.1.1 JDBC簡(jiǎn)介 535
18.1.2 下載JDBC驅(qū)動(dòng)MySQL Connector/J 537
18.1.3 Windows下安裝MySQL Connector/J驅(qū)動(dòng) 538
18.1.4 Linux和Mac OS X下安裝MySQL Connector/J驅(qū)動(dòng) 538
18.1.5 Eclipse環(huán)境下安裝MySQL Connector/J驅(qū)動(dòng) 538
18.1.6 Java連接MySQL數(shù)據(jù)庫(kù) 540
18.2 Java操作MySQL數(shù)據(jù)庫(kù) 541
18.2.1 使用Statement執(zhí)行SQL語(yǔ)句——executeQuery()查詢 542
18.2.2 使用Statement執(zhí)行SQL語(yǔ)句——execute()查詢 543
18.2.3 使用Statement執(zhí)行SQL語(yǔ)句——executeUpdate()插入數(shù)據(jù) 544
18.2.4 使用Statement執(zhí)行SQL語(yǔ)句——executeUpdate()修改數(shù)據(jù) 545
18.2.5 使用Statement執(zhí)行SQL語(yǔ)句——executeUpdate()刪除數(shù)據(jù) 546
18.2.6 使用PreparedStatement執(zhí)行SQL語(yǔ)句——executeQuery()查詢 547
18.2.7 使用PreparedStatement執(zhí)行SQL語(yǔ)句——execute()查詢 549
18.2.8 使用PreparedStatement執(zhí)行SQL語(yǔ)句——executeUpdate() 插入數(shù)據(jù) 550
18.2.9 使用PreparedStatement執(zhí)行SQL語(yǔ)句——executeUpdate() 修改數(shù)據(jù) 551
18.2.10 使用PreparedStatement執(zhí)行SQL語(yǔ)句— executeUpdate()刪除數(shù)據(jù) 552
18.3 Java備份和恢復(fù)MySQL數(shù)據(jù)庫(kù) 553
18.3.1 使用Java備份MySQL數(shù)據(jù)庫(kù) 553
18.3.2 使用Java恢復(fù)MySQL數(shù)據(jù)庫(kù) 554
18.4 綜合示例—人力資源管理系統(tǒng) 556
18.5 本章小結(jié) 567
第19章 網(wǎng)上課堂系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì) 568
19.1 系統(tǒng)概述 568
19.2 系統(tǒng)功能 568
19.3 數(shù)據(jù)庫(kù)設(shè)計(jì)和實(shí)現(xiàn) 569
19.3.1 設(shè)計(jì)表 569
19.3.2 設(shè)計(jì)索引 577
19.3.3 設(shè)計(jì)視圖 578
19.3.4 設(shè)計(jì)觸發(fā)器 579
19.4 本章小結(jié) 580
第20章 論壇管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì) 581
20.1 系統(tǒng)概述 581
20.2 系統(tǒng)功能 582
20.3 數(shù)據(jù)庫(kù)設(shè)計(jì)和實(shí)現(xiàn) 583
20.3.1 設(shè)計(jì)表 583
20.3.2 設(shè)計(jì)索引 587
20.3.3 設(shè)計(jì)視圖 588
20.3.4 設(shè)計(jì)觸發(fā)器 588
20.4 本章小結(jié) 590
展開全部
清華數(shù)據(jù)庫(kù)技術(shù)叢書MYSQL 5.7從入門到實(shí)戰(zhàn)(視頻教學(xué)版) 節(jié)選
第 1 章
數(shù)據(jù)庫(kù)與MySQL
數(shù)據(jù)庫(kù)(Database),就是按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)的建立在計(jì)算機(jī)存儲(chǔ)設(shè)
備上的倉(cāng)庫(kù)。我們可以把數(shù)據(jù)庫(kù)看成為電子化的文件柜,也就是存儲(chǔ)電子文件的處所,用戶可
以對(duì)文件中的數(shù)據(jù)進(jìn)行新增、查詢、更新、刪除等操作。
本章主要涉及的內(nèi)容有:
認(rèn)識(shí)數(shù)據(jù)庫(kù):數(shù)據(jù)庫(kù)技術(shù)經(jīng)歷的階段,數(shù)據(jù)庫(kù)管理系統(tǒng)的功能。
數(shù)據(jù)庫(kù)管理系統(tǒng)的基本組成。
認(rèn)識(shí)MySQL 數(shù)據(jù)庫(kù)。
通過(guò)本章的學(xué)習(xí),我們將對(duì)MySQL 數(shù)據(jù)庫(kù)系統(tǒng)有個(gè)初步的了解。
1.1 認(rèn)識(shí)數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)能夠?qū)?shù)據(jù)按照特定的規(guī)律組織起來(lái),那么我們?yōu)槭裁匆獙W(xué)習(xí)數(shù)據(jù)庫(kù)?數(shù)據(jù)是如何
存儲(chǔ)的?數(shù)據(jù)庫(kù)要遵守什么規(guī)則?數(shù)據(jù)庫(kù)技術(shù)都經(jīng)歷過(guò)什么階段?數(shù)據(jù)庫(kù)管理系統(tǒng)會(huì)提供哪
些功能?當(dāng)前流行的數(shù)據(jù)庫(kù)有哪些?
1.1.1 我們?yōu)槭裁幢仨殞W(xué)習(xí)數(shù)據(jù)庫(kù)
我們?yōu)槭裁匆獙W(xué)習(xí)數(shù)據(jù)庫(kù),可以從幾個(gè)方面來(lái)闡述原因。
1. 數(shù)據(jù)時(shí)代背景
我們身處一個(gè)數(shù)據(jù)時(shí)代,舉一些簡(jiǎn)單的例子,來(lái)說(shuō)明這樣一個(gè)時(shí)代大背景。
學(xué)校需要把學(xué)生的基本信息(學(xué)號(hào)、姓名、性別、年齡、年級(jí)、班級(jí)、成績(jī)等)存放在不
同的表中,而這些表都需要存放在數(shù)據(jù)倉(cāng)庫(kù)中,老師可以根據(jù)學(xué)生的姓名或者學(xué)號(hào),查閱學(xué)生
的基本信息,如果使用計(jì)算機(jī)處理這些工作,管理效率就可以得到極大的提升。
我們?nèi)ド虉?chǎng)或者超市購(gòu)物結(jié)賬時(shí),收銀員的電腦里有進(jìn)銷存軟件,該軟件本質(zhì)上是記錄和
處理消費(fèi)數(shù)據(jù),顧客每一次購(gòu)買的商品種類、數(shù)量、金額、時(shí)間以及每次購(gòu)買所獲得的積分,
都通過(guò)該軟件存儲(chǔ)在后臺(tái)數(shù)據(jù)庫(kù)當(dāng)中。
4
MySQL 5.7 從入門到實(shí)戰(zhàn)(視頻教學(xué)版)
我們的智能手機(jī)上的每一個(gè)應(yīng)用,無(wú)時(shí)無(wú)刻不在記錄和處理關(guān)于我們?nèi)粘I畹臄?shù)據(jù)。購(gòu)
物網(wǎng)站會(huì)根據(jù)我們的每次一次網(wǎng)購(gòu),分析我們的購(gòu)物喜好,從而向我們推薦合適的商品;健身
軟件會(huì)每天記錄我們的運(yùn)動(dòng)數(shù)據(jù);育兒軟件會(huì)記錄嬰兒成長(zhǎng)相關(guān)的數(shù)據(jù);聊天軟件會(huì)記錄我們
的每一條聊天記錄;社交軟件會(huì)根據(jù)我們分享的內(nèi)容而推送相應(yīng)的廣告;電子錢包會(huì)記錄我們
的每一筆收入和消費(fèi);連家用攝像機(jī)都會(huì)記錄用戶的基本信息上傳到云端服務(wù)器,記錄在數(shù)據(jù)
庫(kù)中。這就是我們所處的互聯(lián)網(wǎng)大數(shù)據(jù)時(shí)代,數(shù)據(jù)無(wú)處不在,我們必須要學(xué)習(xí)數(shù)據(jù)庫(kù)知識(shí),才
能更好地理解這個(gè)數(shù)據(jù)世界。
2. 軟件行業(yè)工作性質(zhì)
對(duì)于軟件行業(yè)的同學(xué)來(lái)說(shuō):
程序 = 算法 + 數(shù)據(jù)結(jié)構(gòu)
無(wú)論是傳統(tǒng)的軟件,還是互聯(lián)網(wǎng)網(wǎng)站,或者移動(dòng)端的應(yīng)用,都要處理數(shù)據(jù)。數(shù)據(jù)庫(kù)可以說(shuō)
是學(xué)習(xí)軟件開發(fā)的核心課程之一,幾乎絕大部分軟件都涉及數(shù)據(jù)庫(kù),很多數(shù)據(jù)必須存在數(shù)據(jù)庫(kù)
中,也許,*初少量的信息可以存在文件中,但是,隨著數(shù)據(jù)量的增大,文件已經(jīng)不能很理想
地處理這些數(shù)據(jù),所以必須使用數(shù)據(jù)庫(kù)去處理數(shù)據(jù),因?yàn)閿?shù)據(jù)庫(kù)速度更快、更好維護(hù)、開發(fā)效
率更高。
3. 數(shù)據(jù)庫(kù)設(shè)計(jì)優(yōu)劣
在數(shù)據(jù)庫(kù)設(shè)計(jì)階段,對(duì)于同一領(lǐng)域建模,不同的建模人員得到的結(jié)果不一樣,從而轉(zhuǎn)換后
的關(guān)系模式也不一樣。這樣就存在關(guān)系模式的優(yōu)劣之分。學(xué)習(xí)數(shù)據(jù)庫(kù),就是要學(xué)習(xí)前人總結(jié)的
一些規(guī)則、常用的表示方法,從而能夠設(shè)計(jì)出更合理、高效的模式。
1.1.2 數(shù)據(jù)庫(kù)技術(shù)經(jīng)歷的階段
本小節(jié)將為讀者介紹數(shù)據(jù)庫(kù)技術(shù)經(jīng)歷的3個(gè)階段,即層次數(shù)據(jù)庫(kù)和網(wǎng)狀數(shù)據(jù)庫(kù)技術(shù)階段、
關(guān)系數(shù)據(jù)庫(kù)技術(shù)階段和后關(guān)系數(shù)據(jù)庫(kù)技術(shù)階段。
1. 層次數(shù)據(jù)庫(kù)和網(wǎng)狀數(shù)據(jù)庫(kù)技術(shù)階段
層次數(shù)據(jù)庫(kù)系統(tǒng)是較早研制成功的數(shù)據(jù)庫(kù)系統(tǒng),*典型的是1968 年由IBM 研制的IMS
(Information Management System)。1966 年,美國(guó)國(guó)家航空航天局(NASA) 承包商——北美
航空,希望能夠開發(fā)一個(gè)計(jì)算機(jī)程序,用于追蹤火箭的數(shù)百萬(wàn)個(gè)部件。作為對(duì)這個(gè)需求的回應(yīng),
在 1968 年,IBM 推出了全球**個(gè)商用數(shù)據(jù)庫(kù)管理系統(tǒng),1969 年,該系統(tǒng)改名為IMS(信
息管理系統(tǒng))。
網(wǎng)狀數(shù)據(jù)庫(kù)是處理以記錄類型為節(jié)點(diǎn)的網(wǎng)絡(luò)數(shù)據(jù)模型的數(shù)據(jù)庫(kù)。世界上**個(gè)網(wǎng)狀數(shù)據(jù)庫(kù)
系統(tǒng)是美國(guó)通用電氣Bachman 等人在1964 年開發(fā)成功的IDS(IntegratedDataStore),IDS 奠
定了網(wǎng)狀數(shù)據(jù)庫(kù)的基礎(chǔ)。
5
第1章 數(shù)據(jù)庫(kù)與MySQL
2. 關(guān)系數(shù)據(jù)庫(kù)技術(shù)階段
1970 年,IBM 的研究員,有“關(guān)系數(shù)據(jù)庫(kù)之父”之稱的埃德加·弗蘭克·科德博士首次
提出了數(shù)據(jù)庫(kù)的關(guān)系模型的概念,奠定了關(guān)系模型的理論基礎(chǔ)。20 世紀(jì)70年代,IBM 公司的
San Jose 實(shí)驗(yàn)室研制的關(guān)系數(shù)據(jù)庫(kù)問(wèn)世。20 世紀(jì)80 年代以來(lái),計(jì)算機(jī)廠商推出的數(shù)據(jù)庫(kù)管理
系統(tǒng)幾乎都支持關(guān)系模型,數(shù)據(jù)庫(kù)領(lǐng)域當(dāng)前的研究工作大都以關(guān)系模型為基礎(chǔ)。關(guān)系數(shù)據(jù)庫(kù)技
術(shù)的代表數(shù)據(jù)庫(kù)管理系統(tǒng)為Oracle、DB2、SQLServer、MySQL、Sybase 等。
3. 后關(guān)系數(shù)據(jù)庫(kù)技術(shù)階段
后關(guān)系數(shù)據(jù)庫(kù),實(shí)質(zhì)上是在關(guān)系數(shù)據(jù)庫(kù)的基礎(chǔ)上,融合了面向?qū)ο蠹夹g(shù)和Internet網(wǎng)絡(luò)應(yīng)
用開發(fā)背景而發(fā)展起來(lái)的。它結(jié)合了傳統(tǒng)數(shù)據(jù)庫(kù)如層次、網(wǎng)狀和關(guān)系數(shù)據(jù)庫(kù)的一些特點(diǎn),以及
Java 等編程工具環(huán)境,適應(yīng)于以Internet Web 為基礎(chǔ)的應(yīng)用,開創(chuàng)了關(guān)系數(shù)據(jù)庫(kù)的新時(shí)代。從
后關(guān)系型數(shù)據(jù)庫(kù)模型的提出,到現(xiàn)在已經(jīng)經(jīng)歷了20多年,隨著后關(guān)系型數(shù)據(jù)庫(kù)技術(shù)的發(fā)展,
后關(guān)系型數(shù)據(jù)庫(kù)產(chǎn)品已經(jīng)不再停留在模型的基礎(chǔ)階段,例如美國(guó)InterSystems 公司發(fā)布的
Caché,就是一個(gè)用于高性能事務(wù)應(yīng)用的后關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),該系統(tǒng)具有面向?qū)ο蟮脑S
多功能和一個(gè)事務(wù)型多維數(shù)據(jù)模型。
1.1.3 數(shù)據(jù)庫(kù)管理系統(tǒng)提供的功能
數(shù)據(jù)庫(kù)管理系統(tǒng)(Database Management System)是數(shù)據(jù)庫(kù)系統(tǒng)的核心,是管理數(shù)據(jù)庫(kù)的
軟件。數(shù)據(jù)庫(kù)管理系統(tǒng)就是實(shí)現(xiàn)把用戶意義下抽象的邏輯數(shù)據(jù)處理,轉(zhuǎn)換成為計(jì)算機(jī)中具體的
物理數(shù)據(jù)處理的軟件。數(shù)據(jù)庫(kù)管理系統(tǒng)的主要功能有:
1. 數(shù)據(jù)定義
數(shù)據(jù)庫(kù)管理系統(tǒng)提供數(shù)據(jù)定義語(yǔ)言(Data Definition Language,DDL),供用戶定義數(shù)據(jù)庫(kù)
的三級(jí)模式結(jié)構(gòu)、兩級(jí)映像以及完整性約束和保密限制等約束。簡(jiǎn)單地說(shuō),DDL 用來(lái)創(chuàng)建數(shù)
據(jù)庫(kù)中的各種對(duì)象——表、視圖、索引、同義詞、聚簇等,例如:
CREATE TABLE/VIEW/INDEX/SYN/CLUSTER
2. 數(shù)據(jù)操作
數(shù)據(jù)庫(kù)管理系統(tǒng)提供的數(shù)據(jù)操作語(yǔ)言(Data Manipulation Language,DML),供用戶實(shí)現(xiàn)
對(duì)數(shù)據(jù)的追加(INSERT)、刪除(DELETE)、更新(UPDATE)等操作。
3. 數(shù)據(jù)控制
數(shù)據(jù)庫(kù)管理系統(tǒng)提供的數(shù)據(jù)控制語(yǔ)言(Data Control Language,DCL),包含數(shù)據(jù)完整性控
制、數(shù)據(jù)安全性控制和數(shù)據(jù)庫(kù)的恢復(fù)等,具體如授權(quán)(GRANT)、回滾(ROLLBACK)、提交
(COMMIT)等。
6
MySQL 5.7 從入門到實(shí)戰(zhàn)(視頻教學(xué)版)
1.2 當(dāng)前流行的數(shù)據(jù)庫(kù)
在當(dāng)前主流數(shù)據(jù)庫(kù)中,商業(yè)數(shù)據(jù)庫(kù)以甲骨文公司的Oracle 數(shù)據(jù)庫(kù)為主,另外還有IBM 公
司的DB2 數(shù)據(jù)庫(kù)、微軟公司的SQL Server 數(shù)據(jù)庫(kù),同時(shí)還有很多優(yōu)秀的免費(fèi)開源數(shù)據(jù)庫(kù),像
PostgreSQL、MySQL等都深受歡迎。
先來(lái)看看數(shù)據(jù)庫(kù)排行榜DB-Engines Ranking(https://db-engines.com/en/ranking),如圖1-1
和圖1-2 所示,可以看到關(guān)系數(shù)據(jù)庫(kù)中,Oracle 數(shù)據(jù)庫(kù)、MySQL 數(shù)據(jù)庫(kù)、SQL Server 數(shù)據(jù)庫(kù)
的流行度遠(yuǎn)超于其他數(shù)據(jù)庫(kù);而非關(guān)系數(shù)據(jù)庫(kù)中,比較流行的有MongoDB 和Redis 等。
圖1-1 數(shù)據(jù)庫(kù)流行度排名
雖然Oracle 和MySQL的排名在短期內(nèi)均沒(méi)有發(fā)生變化,但這兩個(gè)數(shù)據(jù)庫(kù)的冠軍之爭(zhēng)依然
扣人心弦,可以看到MySQL 數(shù)據(jù)庫(kù)的人氣直逼Oracle 數(shù)據(jù)庫(kù)。從圖1-2中可以看出,非關(guān)系
數(shù)據(jù)庫(kù)的發(fā)展比較迅猛。
圖1-2 數(shù)據(jù)庫(kù)趨勢(shì)流行度排名
清華數(shù)據(jù)庫(kù)技術(shù)叢書MYSQL 5.7從入門到實(shí)戰(zhàn)(視頻教學(xué)版) 作者簡(jiǎn)介
張婷,哈爾濱工業(yè)大學(xué)碩士,曾先后在華為杭州研究所、諾基亞西門子網(wǎng)絡(luò)公司、阿里巴巴集團(tuán)擔(dān)任高級(jí)開發(fā)工程師和資深開發(fā)工程師職務(wù)。有10年的C/C++、Java開發(fā)及系統(tǒng)設(shè)計(jì)經(jīng)驗(yàn),專注于互聯(lián)網(wǎng)電商交易及大數(shù)據(jù)應(yīng)用相關(guān)領(lǐng)域。