定 價(jià):¥138.00
作 者: | 張工廠 著 |
出版社: | 清華大學(xué)出版社 |
叢編項(xiàng): | |
標(biāo) 簽: | 暫缺 |
ISBN: | 9787302524281 | 出版時(shí)間: | 2019-04-01 | 包裝: | 平裝 |
開本: | 16開 | 頁數(shù): | 680 | 字?jǐn)?shù): |
第1章 初識MySQL 1
1.1 數(shù)據(jù)庫基礎(chǔ) 1
1.1.1 什么是數(shù)據(jù)庫 1
1.1.2 表 2
1.1.3 數(shù)據(jù)類型 2
1.1.4 主鍵 2
1.2 數(shù)據(jù)庫技術(shù)構(gòu)成 3
1.2.1 數(shù)據(jù)庫系統(tǒng) 3
1.2.2 SQL語言 4
1.2.3 數(shù)據(jù)庫訪問接口 5
1.3 什么是MySQL 6
1.3.1 客戶機(jī)-服務(wù)器軟件 6
1.3.2 MySQL版本 6
1.3.3 MySQL的優(yōu)勢 7
1.3.4 了解MySQL 5.7的新特性 8
1.4 MySQL工具 10
1.4.1 MySQL命令行實(shí)用程序 10
1.4.2 MySQL Workbench 11
1.5 如何學(xué)習(xí)MySQL 11
第2章 MySQL的安裝與配置 13
2.1 Windows平臺下安裝與配置MySQL 5.7 13
2.1.1 安裝MySQL 5.7 13
2.1.2 配置MySQL 5.7 17
2.2 啟動服務(wù)并登錄MySQL數(shù)據(jù)庫 21
2.2.1 啟動MySQL服務(wù) 22
2.2.2 登錄MySQL數(shù)據(jù)庫 23
2.2.3 配置Path變量 24
2.3 MySQL常用圖形管理工具 26
2.4 Linux平臺下安裝與配置MySQL 5.7 27
2.4.1 Linux操作系統(tǒng)下的MySQL版本介紹 27
2.4.2 安裝和配置MySQL的RPM包 28
2.4.3 安裝和配置MySQL的源碼包 31
2.5 專家解惑 32
2.6 經(jīng)典習(xí)題 32
第3章 數(shù)據(jù)庫的基本操作 33
3.1 創(chuàng)建數(shù)據(jù)庫 33
3.2 刪除數(shù)據(jù)庫 34
3.3 綜合案例——數(shù)據(jù)庫的創(chuàng)建和刪除 35
3.4 專家解惑 37
3.5 經(jīng)典習(xí)題 37
第4章 數(shù)據(jù)表的基本操作 38
4.1 創(chuàng)建數(shù)據(jù)表 38
4.1.1 創(chuàng)建表的語法形式 38
4.1.2 使用主鍵約束 40
4.1.3 使用外鍵約束 41
4.1.4 使用非空約束 42
4.1.5 使用唯一性約束 43
4.1.6 使用默認(rèn)約束 43
4.1.7 設(shè)置表的屬性值自動增加 44
4.2 查看數(shù)據(jù)表結(jié)構(gòu) 45
4.2.1 查看表基本結(jié)構(gòu)語句DESCRIBE 45
4.2.2 查看表詳細(xì)結(jié)構(gòu)語句SHOW CREATE TABLE 46
4.3 修改數(shù)據(jù)表 47
4.3.1 修改表名 47
4.3.2 修改字段的數(shù)據(jù)類型 48
4.3.3 修改字段名 49
4.3.4 添加字段 50
4.3.5 刪除字段 52
4.3.6 修改字段的排列位置 53
4.3.7 更改表的存儲引擎 54
4.3.8 刪除表的外鍵約束 56
4.4 刪除數(shù)據(jù)表 57
4.4.1 刪除沒有被關(guān)聯(lián)的表 57
4.4.2 刪除被其他表關(guān)聯(lián)的主表 58
4.5 綜合案例——數(shù)據(jù)表的基本操作 60
4.6 專家解惑 68
4.7 經(jīng)典習(xí)題 68
第5章 數(shù)據(jù)類型和運(yùn)算符 70
5.1 MySQL數(shù)據(jù)類型介紹 70
5.1.1 整數(shù)類型 70
5.1.2 浮點(diǎn)數(shù)類型和定點(diǎn)數(shù)類型 72
5.1.3 日期與時(shí)間類型 74
5.1.4 文本字符串類型 86
5.1.5 二進(jìn)制字符串類型 91
5.2 如何選擇數(shù)據(jù)類型 93
5.3 常見運(yùn)算符介紹 95
5.3.1 運(yùn)算符概述 95
5.3.2 算術(shù)運(yùn)算符 96
5.3.3 比較運(yùn)算符 97
5.3.4 邏輯運(yùn)算符 105
5.3.5 位運(yùn)算符 108
5.3.6 運(yùn)算符的優(yōu)先級 111
5.4 綜合案例——運(yùn)算符的使用 112
5.5 專家解惑 114
5.6 經(jīng)典習(xí)題 115
第6章 MySQL函數(shù) 116
6.1 MySQL函數(shù)簡介 116
6.2 數(shù)學(xué)函數(shù) 117
6.2.1 絕對值函數(shù)ABS(x)和返回圓周率的函數(shù)PI() 117
6.2.2 平方根函數(shù)SQRT(x)和求余函數(shù)MOD(x,y) 117
6.2.3 獲取整數(shù)的函數(shù)CEIL(x)、CEILING(x)和FLOOR(x) 118
6.2.4 獲取隨機(jī)數(shù)的函數(shù)RAND()和RAND(x) 119
6.2.5 函數(shù)ROUND(x)、ROUND(x,y)和TRUNCATE(x,y) 119
6.2.6 符號函數(shù)SIGN(x) 120
6.2.7 冪運(yùn)算函數(shù)POW(x,y)、POWER(x,y)和EXP(x) 121
6.2.8 對數(shù)運(yùn)算函數(shù)LOG(x)和LOG10(x) 121
6.2.9 角度與弧度相互轉(zhuǎn)換的函數(shù)RADIANS(x)和DEGREES(x) 122
6.2.10 正弦函數(shù)SIN(x)和反正弦函數(shù)ASIN(x) 122
6.2.11 余弦函數(shù)COS(x)和反余弦函數(shù)ACOS(x) 123
6.2.12 正切函數(shù)、反正切函數(shù)和余切函數(shù) 123
6.3 字符串函數(shù) 124
6.3.1 計(jì)算字符串字符數(shù)的函數(shù)和計(jì)算字符串長度的函數(shù) 124
6.3.2 合并字符串函數(shù)CONCAT(s1,s2,…)、CONCAT_WS(x,s1,s2,…) 125
6.3.3 替換字符串的函數(shù)INSERT(s1,x,len,s2) 126
6.3.4 字母大小寫轉(zhuǎn)換函數(shù) 126
6.3.5 獲取指定長度的字符串的函數(shù)LEFT(s,n)和RIGHT(s,n) 127
6.3.6 填充字符串的函數(shù)LPAD(s1,len,s2)和RPAD(s1,len,s2) 128
6.3.7 刪除空格的函數(shù)LTRIM(s)、RTRIM(s)和TRIM(s) 128
6.3.8 刪除指定字符串的函數(shù)TRIM(s1 FROM s) 129
6.3.9 重復(fù)生成字符串的函數(shù)REPEAT(s,n) 130
6.3.10 空格函數(shù)SPACE(n)和替換函數(shù)REPLACE(s,s1,s2) 130
6.3.11 比較字符串大小的函數(shù)STRCMP(s1,s2) 130
6.3.12 獲取子串的函數(shù)SUBSTRING(s,n,len)和MID(s,n,len) 131
6.3.13 匹配子串開始位置的函數(shù) 132
6.3.14 字符串逆序的函數(shù)REVERSE(s) 132
6.3.15 返回指定位置的字符串的函數(shù) 133
6.3.16 返回指定字符串位置的函數(shù)FIELD(s,s1,s2,…) 133
6.3.17 返回子串位置的函數(shù)FIND_IN_SET(s1,s2) 133
6.3.18 選取字符串的函數(shù)MAKE_SET(x,s1,s2,…) 134
6.4 日期和時(shí)間函數(shù) 134
6.4.1 獲取當(dāng)前日期的函數(shù)和獲取當(dāng)前時(shí)間的函數(shù) 135
6.4.2 獲取當(dāng)前日期和時(shí)間的函數(shù) 135
6.4.3 UNIX時(shí)間戳函數(shù) 136
6.4.4 返回UTC日期的函數(shù)和返回UTC時(shí)間的函數(shù) 136
6.4.5 獲取月份的函數(shù)MONTH(date)和MONTHNAME(date) 137
6.4.6 獲取星期的函數(shù)DAYNAME(d)、DAYOFWEEK(d)和WEEKDAY(d) 137
6.4.7 獲取星期數(shù)的函數(shù)WEEK(d)和WEEKOFYEAR(d) 138
6.4.8 獲取天數(shù)的函數(shù)DAYOFYEAR(d)和DAYOFMONTH(d) 139
6.4.9 獲取年份、季度、小時(shí)、分鐘和秒鐘的函數(shù) 140
6.4.10 獲取日期的指定值的函數(shù)EXTRACT(type FROM date) 141
6.4.11 時(shí)間和秒鐘轉(zhuǎn)換的函數(shù) 141
6.4.12 計(jì)算日期和時(shí)間的函數(shù) 142
6.4.13 將日期和時(shí)間格式化的函數(shù) 145
6.5 條件判斷函數(shù) 148
6.5.1 IF(expr,v1,v2)函數(shù) 148
6.5.2 IFNULL(v1,v2)函數(shù) 148
6.5.3 CASE函數(shù) 149
6.6 系統(tǒng)信息函數(shù) 149
6.6.1 獲取MySQL版本號、連接數(shù)和數(shù)據(jù)庫名的函數(shù) 150
6.6.2 獲取用戶名的函數(shù) 151
6.6.3 獲取字符串的字符集和排序方式的函數(shù) 152
6.6.4 獲取最后一個(gè)自動生成的ID值的函數(shù) 153
6.7 加密函數(shù) 154
6.7.1 加密函數(shù)PASSWORD(str) 155
6.7.2 加密函數(shù)MD5(str) 155
6.7.3 加密函數(shù)ENCODE(str,pswd_str) 155
6.7.4 解密函數(shù)DECODE(crypt_str,pswd_str) 156
6.8 其他函數(shù) 156
6.8.1 格式化函數(shù)FORMAT(x,n) 156
6.8.2 不同進(jìn)制的數(shù)字進(jìn)行轉(zhuǎn)換的函數(shù) 157
6.8.3 IP地址與數(shù)字相互轉(zhuǎn)換的函數(shù) 157
6.8.4 加鎖函數(shù)和解鎖函數(shù) 158
6.8.5 重復(fù)執(zhí)行指定操作的函數(shù) 159
6.8.6 改變字符集的函數(shù) 160
6.8.7 改變數(shù)據(jù)類型的函數(shù) 160
6.9 綜合案例——MySQL函數(shù)的使用 161
6.10 專家解惑 164
6.11 經(jīng)典習(xí)題 165
第7章 查詢數(shù)據(jù) 166
7.1 基本查詢語句 166
7.2 單表查詢 168
7.2.1 查詢所有字段 169
7.2.2 查詢指定字段 170
7.2.3 查詢指定記錄 171
7.2.4 帶IN關(guān)鍵字的查詢 173
7.2.5 帶BETWEEN AND的范圍查詢 175
7.2.6 帶LIKE的字符匹配查詢 176
7.2.7 查詢空值 178
7.2.8 帶AND的多條件查詢 179
7.2.9 帶OR的多條件查詢 180
7.2.10 查詢結(jié)果不重復(fù) 181
7.2.11 對查詢結(jié)果排序 182
7.2.12 分組查詢 186
7.2.13 使用LIMIT限制查詢結(jié)果的數(shù)量 191
7.3 使用集合函數(shù)查詢 192
7.3.1 COUNT()函數(shù) 193
7.3.2 SUM()函數(shù) 194
7.3.3 AVG()函數(shù) 195
7.3.4 MAX()函數(shù) 196
7.3.5 MIN()函數(shù) 197
7.4 連接查詢 198
7.4.1 內(nèi)連接查詢 198
7.4.2 外連接查詢 201
7.4.3 復(fù)合條件連接查詢 203
7.5 子查詢 204
7.5.1 帶ANY、SOME關(guān)鍵字的子查詢 204
7.5.2 帶ALL關(guān)鍵字的子查詢 205
7.5.3 帶EXISTS關(guān)鍵字的子查詢 205
7.5.4 帶IN關(guān)鍵字的子查詢 207
7.5.5 帶比較運(yùn)算符的子查詢 209
7.6 合并查詢結(jié)果 210
7.7 為表和字段取別名 213
7.7.1 為表取別名 213
7.7.2 為字段取別名 215
7.8 使用正則表達(dá)式查詢 216
7.8.1 查詢以特定字符或字符串開頭的記錄 217
7.8.2 查詢以特定字符或字符串結(jié)尾的記錄 218
7.8.3 用符號“.”替代字符串中的任意一個(gè)字符 218
7.8.4 使用“*”和“ ”來匹配多個(gè)字符 219
7.8.5 匹配指定字符串 219
7.8.6 匹配指定字符中的任意一個(gè) 220
7.8.7 匹配指定字符以外的字符 221
7.8.8 使用{n,}或者{n,m}指定字符串連續(xù)出現(xiàn)的次數(shù) 222
7.9 綜合案例——數(shù)據(jù)表查詢操作 223
7.10 專家解惑 230
7.11 經(jīng)典習(xí)題 231
第8章 插入、更新與刪除數(shù)據(jù) 232
8.1 插入數(shù)據(jù) 232
8.1.1 為表的所有字段插入數(shù)據(jù) 232
8.1.2 為表的指定字段插入數(shù)據(jù) 234
8.1.3 同時(shí)插入多條記錄 236
8.1.4 將查詢結(jié)果插入表中 238
8.2 更新數(shù)據(jù) 240
8.3 刪除數(shù)據(jù) 242
8.4 MySQL 5.7的新特性——為表增加計(jì)算列 244
8.5 綜合案例——記錄的插入、更新和刪除 245
8.6 專家解惑 249
8.7 經(jīng)典習(xí)題 250
第9章 索引 251
9.1 索引簡介 251
9.1.1 索引的含義和特點(diǎn) 251
9.1.2 索引的分類 252
9.1.3 索引的設(shè)計(jì)原則 253
9.2 創(chuàng)建索引 253
9.2.1 創(chuàng)建表的時(shí)候創(chuàng)建索引 253
9.2.2 在已經(jīng)存在的表上創(chuàng)建索引 259
9.3 刪除索引 266
9.4 綜合案例——創(chuàng)建索引 268
9.5 專家解惑 271
9.6 經(jīng)典習(xí)題 271
第10章 存儲過程和函數(shù) 272
10.1 創(chuàng)建存儲過程和函數(shù) 272
10.1.1 創(chuàng)建存儲過程 273
10.1.2 創(chuàng)建存儲函數(shù) 275
10.1.3 變量的使用 276
10.1.4 定義條件和處理程序 277
10.1.5 光標(biāo)的使用 280
10.1.6 流程控制的使用 282
10.2 調(diào)用存儲過程和函數(shù) 286
10.2.1 調(diào)用存儲過程 286
10.2.2 調(diào)用存儲函數(shù) 287
10.3 查看存儲過程和函數(shù) 288
10.3.1 使用SHOW STATUS語句查看存儲過程和函數(shù)的狀態(tài) 288
10.3.2 使用SHOW CREATE語句查看存儲過程和函數(shù)的定義 289
10.3.3 從information_schema.Routines表中查看存儲過程和函數(shù)的信息 289
10.4 修改存儲過程和函數(shù) 291
10.5 刪除存儲過程和函數(shù) 293
10.6 綜合案例——創(chuàng)建存儲過程和函數(shù) 293
10.7 專家解惑 296
10.8 經(jīng)典習(xí)題 297
第11章 視圖 298
11.1 視圖概述 298
11.1.1 視圖的含義 298
11.1.2 視圖的作用 299
11.2 創(chuàng)建視圖 300
11.2.1 創(chuàng)建視圖的語法形式 300
11.2.2 在單表上創(chuàng)建視圖 301
11.2.3 在多表上創(chuàng)建視圖 302
11.3 查看視圖 303
11.3.1 使用DESCRIBE語句查看視圖基本信息 303
11.3.2 使用SHOW TABLE STATUS語句查看視圖基本信息 303
11.3.3 使用SHOW CREATE VIEW語句查看視圖詳細(xì)信息 305
11.3.4 在views表中查看視圖詳細(xì)信息 305
11.4 修改視圖 307
11.4.1 使用CREATE OR REPLACE VIEW語句修改視圖 307
11.4.2 使用ALTER語句修改視圖 308
11.5 更新視圖 309
11.6 刪除視圖 311
11.7 綜合案例——視圖應(yīng)用 312
11.8 專家解惑 320
11.9 經(jīng)典習(xí)題 321
第12章 MySQL觸發(fā)器 322
12.1 創(chuàng)建觸發(fā)器 322
12.1.1 創(chuàng)建只有一個(gè)執(zhí)行語句的觸發(fā)器 323
12.1.2 創(chuàng)建有多個(gè)執(zhí)行語句的觸發(fā)器 324
12.2 查看觸發(fā)器 326
12.2.1 SHOW TRIGGERS語句查看觸發(fā)器信息 326
12.2.2 在triggers表中查看觸發(fā)器信息 328
12.3 觸發(fā)器的使用 329
12.4 刪除觸發(fā)器 330
12.5 綜合案例——觸發(fā)器的使用 331
12.6 專家解惑 333
12.7 經(jīng)典習(xí)題 333
第13章 MySQL權(quán)限與安全管理 334
13.1 權(quán)限表 334
13.1.1 user表 334
13.1.2 db表 337
13.1.3 tables_priv表和columns_priv表 338
13.1.4 procs_priv表 339
13.2 賬戶管理 339
13.2.1 登錄和退出MySQL服務(wù)器 340
13.2.2 新建普通用戶 341
13.2.3 刪除普通用戶 345
13.2.4 root用戶修改自己的密碼 346
13.2.5 root用戶修改普通用戶密碼 348
13.2.6 普通用戶修改密碼 349
13.2.7 root用戶密碼丟失的解決辦法 349
13.3 權(quán)限管理 351
13.3.1 MySQL的各種權(quán)限 351
13.3.2 授權(quán) 353
13.3.3 收回權(quán)限 355
13.3.4 查看權(quán)限 356
13.4 訪問控制 357
13.4.1 連接核實(shí)階段 357
13.4.2 請求核實(shí)階段 358
13.5 MySQL 5.7的新特性——提升安全性 359
13.5.1 AES 256加密 359
13.5.2 密碼到期更換策略 360
15.5.3 安全模式安裝 362
13.6 綜合案例——綜合管理用戶權(quán)限 362
13.7 專家解惑 366
13.8 經(jīng)典習(xí)題 366
第14章 數(shù)據(jù)備份與恢復(fù) 368
14.1 數(shù)據(jù)備份 368
14.1.1 使用MySQLdump命令備份 368
14.1.2 直接復(fù)制整個(gè)數(shù)據(jù)庫目錄 373
14.1.3 使用MySQLhotcopy工具快速備份 374
14.2 數(shù)據(jù)恢復(fù) 374
14.2.1 使用MySQL命令恢復(fù) 374
14.2.2 直接復(fù)制到數(shù)據(jù)庫目錄 375
14.2.3 MySQLhotcopy快速恢復(fù) 375
14.3 數(shù)據(jù)庫遷移 376
14.3.1 相同版本的MySQL數(shù)據(jù)庫之間的遷移 376
14.3.2 不同版本的MySQL數(shù)據(jù)庫之間的遷移 377
14.3.3 不同數(shù)據(jù)庫之間的遷移 377
14.4 表的導(dǎo)出和導(dǎo)入 377
14.4.1 使用SELECTI…INTO OUTFILE導(dǎo)出文本文件 378
14.4.2 使用MySQLdump命令導(dǎo)出文本文件 381
14.4.3 使用MySQL命令導(dǎo)出文本文件 383
14.4.4 使用LOAD DATA INFILE方式導(dǎo)入文本文件 386
14.4.5 使用MySQLimport命令導(dǎo)入文本文件 389
14.5 綜合案例——數(shù)據(jù)的備份與恢復(fù) 390
14.6 專家解惑 395
14.7 經(jīng)典習(xí)題 396
第15章 MySQL日志 397
15.1 日志簡介 397
15.2 二進(jìn)制日志 398
15.2.1 啟動和設(shè)置二進(jìn)制日志 398
15.2.2 查看二進(jìn)制日志 399
15.2.3 刪除二進(jìn)制日志 401
15.2.4 使用二進(jìn)制日志恢復(fù)數(shù)據(jù)庫 403
15.2.5 暫時(shí)停止二進(jìn)制日志功能 404
15.3 錯(cuò)誤日志 404
15.3.1 啟動和設(shè)置錯(cuò)誤日志 404
15.3.2 查看錯(cuò)誤日志 405
15.3.3 刪除錯(cuò)誤日志 406
15.4 通用查詢?nèi)罩?nbsp; 406
15.4.1 啟動和設(shè)置通用查詢?nèi)罩?nbsp; 406
15.4.2 查看通用查詢?nèi)罩?nbsp; 406
15.4.3 刪除通用查詢?nèi)罩?nbsp; 407
15.5 慢查詢?nèi)罩?nbsp; 408
15.5.1 啟動和設(shè)置慢查詢?nèi)罩?nbsp; 408
15.5.2 查看慢查詢?nèi)罩?nbsp; 408
15.5.3 刪除慢查詢?nèi)罩?nbsp; 409
15.6 綜合案例——MySQL日志的綜合管理 409
15.7 專家解惑 415
15.8 經(jīng)典習(xí)題 416
第16章 性能優(yōu)化 417
16.1 優(yōu)化簡介 417
16.2 優(yōu)化查詢 418
16.2.1 分析查詢語句 418
16.2.2 索引對查詢速度的影響 422
16.2.3 使用索引查詢 423
16.2.4 優(yōu)化子查詢 426
16.3 優(yōu)化數(shù)據(jù)庫結(jié)構(gòu) 426
16.3.1 將字段很多的表分解成多個(gè)表 426
16.3.2 增加中間表 427
16.3.3 增加冗余字段 429
16.3.4 優(yōu)化插入記錄的速度 430
16.3.5 分析表、檢查表和優(yōu)化表 431
16.4 優(yōu)化MySQL服務(wù)器 433
16.4.1 優(yōu)化服務(wù)器硬件 433
16.4.2 優(yōu)化MySQL的參數(shù) 434
16.5 MySQL 5.7的新特性1——臨時(shí)表性能優(yōu)化 435
16.6 MySQL 5.7的新特性2——服務(wù)器語句超時(shí)處理 437
16.7 MySQL 5.7的新特性3——支持創(chuàng)建全局通用表空間 438
16.8 綜合案例——全面優(yōu)化MySQL服務(wù)器 438
16.9 專家解惑 441
16.10 經(jīng)典習(xí)題 442
第17章 MySQL Replication 443
17.1 MySQL Replication概述 443
17.2 Windows環(huán)境下的MySQL主從復(fù)制 444
17.2.1 復(fù)制前的準(zhǔn)備工作 444
17.2.2 Windows環(huán)境下實(shí)現(xiàn)主從復(fù)制 445
17.2.3 Windows環(huán)境下主從復(fù)制測試 452
17.3 Linux環(huán)境下的MySQL復(fù)制 453
17.3.1 下載并安裝MySQL 5.7 453
17.3.2 單機(jī)主從復(fù)制前的準(zhǔn)備工作 455
17.3.3 mysqld_multi實(shí)現(xiàn)單機(jī)主從復(fù)制 458
17.3.4 不同服務(wù)器之間實(shí)現(xiàn)主從復(fù)制 466
17.3.5 MySQL 主要復(fù)制啟動選項(xiàng) 467
17.3.6 指定復(fù)制的數(shù)據(jù)庫或者表 468
17.4 查看Slave的復(fù)制進(jìn)度 476
17.5 日常管理和維護(hù) 477
17.5.1 了解服務(wù)器的狀態(tài) 477
17.5.2 服務(wù)器復(fù)制出錯(cuò)的原因 478
17.6 切換主從服務(wù)器 481
17.7 MySQL 5.7的新特性——多源復(fù)制的改進(jìn) 485
17.8 專家解惑 487
17.9 經(jīng)典習(xí)題 489
第18章 MySQL Workbench 的使用 490
18.1 MySQL Workbench簡介 490
18.1.1 MySQL Workbench的概述 490
18.1.2 MySQL Workbench的優(yōu)勢 491
18.1.3 MySQL Workbench的安裝 491
18.2 SQL Development的基本操作 493
18.2.1 創(chuàng)建數(shù)據(jù)庫連接 493
18.2.2 創(chuàng)建新的數(shù)據(jù)庫 494
18.2.3 創(chuàng)建和刪除新的數(shù)據(jù)表 496
18.2.4 添加、修改表記錄 498
18.2.5 查詢表記錄 499
18.2.6 修改表結(jié)構(gòu) 500
18.3 Data Modeling的基本操作 501
18.3.1 建立ER模型 501
18.3.2 導(dǎo)入ER模型 505
18.4 Server Administration的基本操作 507
18.4.1 管理MySQL用戶 507
18.4.2 備份MySQL數(shù)據(jù)庫 509
18.4.3 恢復(fù)MySQL數(shù)據(jù)庫 511
18.5 專家解惑 512
18.6 經(jīng)典習(xí)題 513
第19章 MySQL Cluster 514
19.1 MySQL Cluster概述 514
19.1.1 MySQL Cluster基本概念 514
19.1.2 理解MySQL Cluster節(jié)點(diǎn) 515
19.2 Linux環(huán)境下MySQL Cluster安裝和配置 516
19.2.1 安裝MySQL Cluster軟件 519
19.2.2 管理節(jié)點(diǎn)配置步驟 523
19.2.3 配置SQL節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn) 524
19.3 管理MySQL Cluster 525
19.3.1 Cluster的啟動 525
19.3.2 Cluster的測試 527
19.3.3 Cluster的關(guān)閉 529
19.4 維護(hù)MySQL Cluster 530
19.4.1 Cluster的日志管理 532
19.4.2 Cluster的聯(lián)機(jī)備份 533
19.4.3 Cluster的數(shù)據(jù)恢復(fù) 534
19.5 Wndows操作系統(tǒng)中配置Cluster集群 535
19.6 專家解惑 541
19.7 經(jīng)典習(xí)題 542
第20章 MySQL管理利器——MySQL Utilities 543
20.1 MySQL Utilities概述 543
20.2 安裝與配置 544
20.2.1 下載與安裝MySQL Utilities 544
20.2.2 MySQL Utilities連接數(shù)據(jù)庫 547
20.3 管理與維護(hù) 548
20.3.1 使用mysqldbcompare比較數(shù)據(jù) 548
20.3.2 使用mysqldbcopy復(fù)制數(shù)據(jù) 548
20.3.3 使用mysqldbexport導(dǎo)出數(shù)據(jù) 549
20.3.4 使用mysqldbimport導(dǎo)入數(shù)據(jù) 549
20.3.5 使用mysqldiff比較對象的定義 550
20.4 專家解惑 550
20.5 經(jīng)典習(xí)題 551
第21章 讀寫分離的利器——MySQL Proxy 552
21.1 概述 552
21.2 安裝與配置 553
21.2.1 下載與安裝MySQL Proxy 553
20.2.2 配置MySQL Proxy參數(shù) 554
21.2.3 配置Path變量 556
21.3 使用MySQL Proxy實(shí)現(xiàn)讀寫分離 558
21.4 專家解惑 559
21.5 經(jīng)典習(xí)題 559
第22章 精通MySQL存儲引擎 560
22.1 MySQL架構(gòu) 560
22.1.1 MySQL物理文件的組成 561
22.1.2 MySQL各邏輯塊簡介 563
22.1.3 MySQL各邏輯塊協(xié)調(diào)工作 566
22.2 數(shù)據(jù)庫存儲引擎 567
22.2.1 MySQL存儲引擎簡介 567
22.2.2 InnoDB存儲引擎 569
22.2.3 MyISAM存儲引擎 570
22.2.4 MEMORY存儲引擎 570
22.2.5 MERGE存儲引擎 571
22.2.6 BerkeleyDB存儲引擎 573
22.3 認(rèn)識MySQL的鎖定機(jī)制 574
22.4 MyISAM的鎖定機(jī)制 578
22.4.1 MyISAM表級鎖的鎖模式 578
22.4.2 獲取MyISAM表級鎖的爭用情況 581
22.4.3 MyISAM表級鎖加鎖的方法 582
22.4.4 MyISAM Concurrent Insert的特性 583
22.4.5 MyISAM表級鎖優(yōu)化建議 585
22.5 InnoDB的鎖定機(jī)制 586
22.5.1 InnoDB行級鎖模式 586
22.5.2 獲取InnoDB行級鎖的爭用情況 590
22.5.3 InnoDB行級鎖的實(shí)現(xiàn)方法 593
22.5.4 間隙鎖(Net-Key鎖) 597
22.5.5 InnoDB 在不同隔離級別下加鎖的差異 598
22.5.6 InnoDB 存儲引擎中的死鎖 599
22.5.7 InnoDB行級鎖優(yōu)化建議 601
22.6 MySQL 5.7的新特性1——InnoDB存儲引擎的在線操作 602
22.6.1 在線添加主鍵 602
22.6.2 在線增大VARCHAR列長 603
22.6.3 在線重命名索引 604
22.7 MySQL 5.7的新特性2——支持JSON類型 605
22.8 MySQL 5.7的新特性3——全文索引的加強(qiáng) 607
22.9 MySQL 5.7的新特性4——動態(tài)修改InnoDB緩沖池的大小 609
22.10 MySQL 5.7的新特性5——表空間數(shù)據(jù)加密 610
22.11 專家解惑 611
22.12 經(jīng)典習(xí)題 612
第23章 PHP操作MySQL數(shù)據(jù)庫 613
23.1 PHP訪問MySQL數(shù)據(jù)庫的一般步驟 613
23.2 連接數(shù)據(jù)庫前的準(zhǔn)備工作 614
23.3 訪問數(shù)據(jù)庫 615
23.3.1 使用mysqli_connect()函數(shù)連接MySQL服務(wù)器 615
23.3.2 使用mysqli_select_db()函數(shù)更改默認(rèn)的數(shù)據(jù)庫 616
23.3.3 使用mysqli_close()函數(shù)關(guān)閉MySQL連接 617
23.3.4 使用mysqli_query()函數(shù)執(zhí)行SQL語句 617
23.3.5 獲取查詢結(jié)果集中的記錄數(shù) 618
23.3.6 獲取結(jié)果集中的一條記錄作為枚舉數(shù)組 619
23.3.7 獲取結(jié)果集中的記錄作為關(guān)聯(lián)數(shù)組 620
23.3.8 獲取結(jié)果集中的記錄作為對象 621
23.3.9 使用mysqli_fetch_array()函數(shù)獲取結(jié)果集記錄 621
23.3.10 使用mysqli_free_result()函數(shù)釋放資源 622
23.4 綜合實(shí)例1——PHP操作MySQL數(shù)據(jù)庫 622
23.5 綜合實(shí)例2——使用insert語句動態(tài)添加用戶信息 624
23.6 綜合實(shí)例3——使用select語句查詢數(shù)據(jù)信息 626
23.7 專家解惑 628
第24章 PDO數(shù)據(jù)庫抽象類庫 629
24.1 PDO概述 629
24.2 PDO的安裝 630
24.3 使用PDO操作MySQL 630
24.3.1 連接MySQL數(shù)據(jù)庫的方法 631
24.3.2 使用PDO時(shí)的try catch錯(cuò)誤處理結(jié)構(gòu) 632
24.3.3 使用PDO執(zhí)行SQL的選擇語句 634
24.3.4 使用PDO獲取返回?cái)?shù)據(jù)的類方法 635
24.3.5 使用PDO執(zhí)行SQL的添加、修改語句 637
24.3.6 使用PDO執(zhí)行SQL的刪除語句 638
24.4 綜合實(shí)例——PDO的prepare表述 639
24.5 專家解惑 640
第25章 論壇管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì) 642
25.1 系統(tǒng)概述 642
25.2 系統(tǒng)功能 643
25.3 數(shù)據(jù)庫設(shè)計(jì)和實(shí)現(xiàn) 644
25.3.1 設(shè)計(jì)方案圖表 644
25.3.2 設(shè)計(jì)表 646
25.3.3 設(shè)計(jì)索引 649
25.3.4 設(shè)計(jì)視圖 650
25.3.5 設(shè)計(jì)觸發(fā)器 651
第26章 新聞發(fā)布系統(tǒng)數(shù)據(jù)庫設(shè)計(jì) 653
26.1 系統(tǒng)概述 653
26.2 系統(tǒng)功能 654
26.3 數(shù)據(jù)庫設(shè)計(jì)和實(shí)現(xiàn) 655
26.3.1 設(shè)計(jì)表 655
26.3.2 設(shè)計(jì)索引 659
26.3.3 設(shè)計(jì)視圖 660
26.3.4 設(shè)計(jì)觸發(fā)器 661
第27章 開發(fā)網(wǎng)上商城 662
27.1 系統(tǒng)功能描述 662
27.2 系統(tǒng)功能分析 663
27.2.1 系統(tǒng)功能分析 663
27.2.2 數(shù)據(jù)流程和數(shù)據(jù)庫 664
27.3 代碼的具體實(shí)現(xiàn) 667
27.4 程序運(yùn)行 679