出版信息
作者:劉玉紅、郭廣新
定價:69元
印次:1-1
ISBN:9787302421542
出版日期:2016.01.01
內容簡介
本書從零基礎講解起步,用實例引導讀者深入學習,採取“資料庫基礎→資料庫的基本操作→SQL查詢語句→資料庫高級管理→項目開發與案例設計”的講解模式,深入淺出地講解MySQL的各項技術及實戰技能。本書共分5篇,第1篇主要講解MySQL的基礎知識,MySQL的安裝與環境配置等;第2篇主要講解運算元據庫,創建、修改和刪除數據表,數據類型和運算符,索引的操作,視圖的操作等;第3篇主要講解插入、更新與刪除數據,MySQL函式,查詢數據,存儲過程和函式,MySQL觸發器等;第4篇主要講解MySQL安全性機制,MySQL數據備份與還原,管理MySQL日誌,MySQL性能的最佳化,MySQL的高級特性和使用MySQL Workbench管理資料庫;第5篇主要講解Java訪問MySQL資料庫,PHP操作MySQL資料庫,論壇管理系統資料庫設計。
目錄
第1篇MySQL資料庫基礎
第1章初識MySQL 3
1.1 關於資料庫的基本概念 4
1.1.1 資料庫 4
1.1.2 表 4
1.1.3 數據類型 5
1.1.4 主鍵 5
1.2 資料庫技術構成 5
1.2.1 資料庫系統 5
1.2.2 SQL語言 6
1.2.3 資料庫訪問技術 7
1.3 MySQL簡介 8
1.3.1 客戶機-伺服器軟體 8
1.3.2 MySQL的版本 8
1.3.3 MySQL的優勢 9
1.3.4 MySQL5.6的新功能 10
1.4 MySQL的工具 10
1.4.1 MySQL的命令行實用工具 11
1.4.2 MySQLWorkbench 11
1.5 高手甜點 12
1.6 跟我學上機 13
第2章MySQL的安裝與環境配置 15
2.1 Windows系統中安裝與配置MySQL 16
2.1.1 安裝MySQL 16
2.1.2 配置MySQL 21
2.2 啟動服務並登錄MySQL資料庫 26
2.2.1 查看和啟動MySQL服務 26
2.2.2 登錄MySQL資料庫 27
2.2.3 配置Path變數 31
2.3 Linux系統中安裝與配置MySQL 32
2.3.1 Linux作業系統下的MySQL版本介紹 32
2.3.2 安裝和配置MySQL的RPM包 34
2.3.3 安裝和配置MySQL的源碼包 38
2.4 MySQL常用圖形管理工具 39
2.5 高手甜點 40
2.6 跟我學上機 40
第2篇MySQL資料庫的基本操作
第3章運算元據庫 43
3.1 創建資料庫 44
3.2 刪除資料庫 45
3.3 資料庫存儲引擎 45
3.3.1 InnoDB存儲引擎 47
3.3.2 MyISAM存儲引擎 48
3.3.3 MEMORY存儲引擎 48
3.3.4 存儲引擎的選擇 49
3.4 綜合實例——資料庫的創建和刪除 49
3.5 高手甜點 51
3.6 跟我學上機 52
第4章創建、修改和刪除數據表 53
4.1 創建數據表 54
4.1.1 創建表的語法形式 54
4.1.2 使用主鍵約束 55
4.1.3 使用外鍵約束 56
4.1.4 使用非空約束 57
4.1.5 使用唯一性約束 58
4.1.6 使用默認約束 58
4.1.7 設定表的屬性值自動增加 59
4.2 查看數據表結構 60
4.3 修改數據表 62
4.3.1 修改表名 62
4.3.2 修改欄位的數據類型 63
4.3.3 修改欄位名 64
4.3.4 添加欄位 65
4.3.5 刪除欄位 67
4.3.6 修改欄位的排列位置 68
4.3.7 更改表的存儲引擎 69
4.3.8 刪除表的外鍵約束 70
4.4 刪除數據表 71
4.4.1 刪除沒有被關聯的表 72
4.4.2 刪除被其他表關聯的主表 72
4.5 綜合實例——數據表的基本操作 74
4.6 高手甜點 81
4.7 跟我學上機 82
第5章數據類型和運算符 85
5.1 MySQL數據類型介紹 86
5.1.1 整數類型 86
5.1.2 浮點數類型和定點數類型 88
5.1.3 日期與時間類型 89
5.1.4 字元串類型 100
5.1.5 二進制類型 105
5.2 選擇數據類型的方法 108
5.3 常見運算符介紹 109
5.3.1運算符概述 109
5.3.2 算術運算符 110
5.3.3 比較運算符 111
5.3.4邏輯運算符 119
5.3.5 位運算符 121
5.3.6 運算符的優先權 124
5.4 綜合實例——運算符的使用 125
5.5 高手甜點 127
5.6 跟我學上機 128
第6章索引的操作 129
6.1 索引簡介 130
6.1.1索引的含義和特點 130
6.1.2索引的分類 130
6.1.3索引的設計原則 131
6.2 創建索引 132
6.2.1 創建表的時候創建索引 132
6.2.2 在已有的表上創建索引 137
6.3 刪除索引 144
6.4 綜合實例——創建索引 145
6.5 高手甜點 148
6.6 跟我學上機 148
第7章視圖的操作 151
7.1 視圖概述 152
7.1.1 視圖的含義 152
7.1.2 視圖的作用 153
7.2 創建視圖 153
7.2.1 創建視圖的語法形式 153
7.2.2 在單表上創建視圖 154
7.2.3 在多表上創建視圖 155
7.3 查看視圖 156
7.3.1 用DESCRIBE語句查看視圖的
基本信息 156
7.3.2 用SHOWTABLESTATUS語句
查看視圖的基本信息 157
7.3.3 用SHOWCREATEVIEW語句
查看視圖的詳細信息 158
7.3.4 在views表中查看視圖的詳細
信息 158
7.4 修改視圖 160
7.4.1 用CREATEORREPLACEVIEW
語句修改視圖 160
7.4.2 用ALTER語句修改視圖 161
7.5 更新視圖 161
7.6 刪除視圖 164
7.7 綜合實例——視圖套用 165
7.8 高手甜點 172
7.9 跟我學上機 173
第3篇SQL查詢語句
第8章插入、更新與刪除數據 177
8.1 插入數據 178
8.1.1 為表的所有欄位插入數據 178
8.1.2 為表的指定欄位插入數據 180
8.1.3 同時插入多條記錄 181
8.1.4 將查詢結果插入表中 183
8.2 更新數據 184
8.3 刪除數據 186
8.4 綜合實例——記錄的插入、更新
和刪除 188
8.5 高手甜點 192
8.6 跟我學上機 193
第9章MySQL函式 195
9.1 MySQL中的函式分類 196
9.2 數學函式 196
9.2.1 絕對值函式ABS(x)和返回
圓周率的函式PI() 196
9.2.2 平方根函式SQRT(x)和求余函式
MOD(x,y) 197
9.2.3 獲取整數的函式CEIL(x)、CEILING(x)和FLOOR(x) 197
9.2.4 獲取隨機數的函式RAND()
和RAND(x) 198
9.2.5 四捨五入函式ROUND(x)、
ROUND(x,y)和
TRUNCATE(x,y) 198
9.2.6 符號函式SIGN(x) 200
9.2.7 冪運算函式POW(x,y)、
POWER(x,y)和EXP(x) 200
9.2.8 對數運算函式LOG(x)和
LOG10(x) 201
9.2.9 角度與弧度相互轉換的函式
RADIANS(x)和DEGREES(x) 201
9.2.10 正弦函式SIN(x)和反正弦
函式ASIN(x) 202
9.2.11 餘弦函式COS(x)和反餘弦函式
ACOS(x) 202
9.2.12 正切函式、反正切函式和餘切
函式 203
9.3 字元串函式 204
9.3.1 計算字元串中字元數的函式
和字元串長度的函式 204
9.3.2 合併字元串函式CONCAT(s1,s2,…)、
CONCAT_WS(x,s1,s2,…) 204
9.3.3 替換字元串的函式
INSERT(s1,x,len,s2) 205
9.3.4 字母大小寫轉換函式 206
9.3.5 獲取指定長度字元串的函式
LEFT(s,n)和RIGHT(s,n) 206
9.3.6 填充字元串的函式LPAD(s1,len,s2)
和RPAD(s1,len,s2) 207
9.3.7 刪除空格的函式LTRIM(s)、
RTRIM(s)和TRIM(s) 208
9.3.8 刪除指定字元串的函式TRIM
(s1FROMs) 208
9.3.9 重複生成字元串的函式
REPEAT(s,n) 209
9.3.10 空格函式SPACE(n)和替換函式
REPLACE(s,s1,s2) 209
9.3.11 比較字元串大小的函式
STRCMP(s1,s2) 210
9.3.12 獲取子串的函式SUBSTRING(s,n,len)
和MID(s,n,len) 210
9.3.13 匹配子串開始位置的函式 211
9.3.14 字元串逆序的函式
REVERSE(s) 211
9.3.15 返回指定位置的字元串的函式
ELT(N,字元串1,字元串2,字元
串3,...,字元串N) 212
9.3.16 返回指定字元串位置的函式
FIELD(s,s1,s2,…) 212
9.3.17 返回子串位置的函式
FIND_IN_SET(s1,s2) 212
9.3.18 選取字元串的函式
MAKE_SET(x,s1,s2,…) 213
9.4 日期和時間函式 213
9.4.1 獲取當前日期的函式和獲取當前
時間的函式 214
9.4.2 獲取當前日期和時間的函式 214
9.4.3 UNIX時間戳函式 215
9.4.4 返回UTC日期的函式和返回
UTC時間的函式 215
9.4.5 獲取月份的函式MONTH(date)
和MONTHNAME(date) 216
9.4.6 獲取星期的函式DAYNAME(d)、
DAYOFWEEK(d)和
WEEKDAY(d) 216
9.4.7 獲取星期數的函式WEEK(d)
和WEEKOFYEAR(d) 217
9.4.8 獲取天數的函式DAYOFYEAR(d)
和DAYOFMONTH(d) 218
9.4.9 獲取年份、季度、小時、分鐘和
秒鐘的函式 219
9.4.10 獲取日期的指定值的函式
EXTRACT(typeFROMdate) 220
9.4.11 時間和秒鐘轉換的函式 220
9.4.12 計算日期和時間的函式 221
9.4.13 格式化日期和時間的函式 224
9.5 條件判斷函式 227
9.5.1 IF(expr,v1,v2)函式 227
9.5.2 IFNULL(v1,v2)函式 227
9.5.3 CASE函式 228
9.6 系統信息函式 229
9.6.1 獲取MySQL版本號、連線數和
資料庫名的函式 229
9.6.2 獲取用戶名的函式 231
9.6.3 獲取字元串的字元集和排序方式
的函式 231
9.6.4 獲取最後一個自動生成的ID值
的函式 232
9.7 加密和解密函式 234
9.7.1 加密函式PASSWORD(str) 234
9.7.2 加密函式MD5(str) 234
9.7.3 加密函式ENCODE
(str,pswd_str) 234
9.7.4 解密函式DECODE
(crypt_str,pswd_str) 235
9.8 其他函式 235
9.8.1 格式化函式FORMAT(x,n) 235
9.8.2 不同進制的數字進行轉換的
函式 236
9.8.3 IP位址與數字相互轉換的
函式 236
9.8.4 加鎖函式和解鎖函式 237
9.8.5 重複執行指定操作的函式 238
9.8.6 改變字元集的函式 238
9.8.7 改變數據類型的函式 239
9.9 綜合實例——MySQL函式的使用 239
9.10 高手甜點 242
9.11 跟我學上機 243
第10章查詢數據 245
10.1 基本查詢語句 246
10.2 單表查詢 248
10.2.1 查詢所有欄位 248
10.2.2 查詢指定欄位 249
10.2.3 查詢指定記錄 250
10.2.4 帶IN關鍵字的查詢 252
10.2.5 帶BETWEENAND的範圍
查詢 254
10.2.6 帶LIKE的字元匹配查詢 255
10.2.7 查詢空值 256
10.2.8 帶AND的多條件查詢 258
10.2.9 帶OR的多條件查詢 259
10.2.10 查詢結果不重複 260
10.2.11 對查詢結果排序 261
10.2.12 分組查詢 264
10.2.13 使用LIMIT限制查詢結果的
數量 269
10.3 使用集合函式查詢 270
10.3.1 COUNT()函式 271
10.3.2 SUM()函式 272
10.3.3 AVG()函式 273
10.3.4 MAX()函式 274
10.3.5 MIN()函式 275
10.4 連線查詢 276
10.4.1 內連線查詢 276
10.4.2 外連線查詢 279
10.4.3 複合條件連線查詢 281
10.5 子查詢 282
10.5.1 帶ANY、SOME關鍵字的
子查詢 282
10.5.2 帶ALL關鍵字的子查詢 283
10.5.3 帶EXISTS關鍵字的子查詢 283
10.5.4 帶IN關鍵字的子查詢 285
10.5.5 帶比較運算符的子查詢 286
10.6 合併查詢結果 288
10.7 為表和欄位取別名 290
10.7.1 為表取別名 290
10.7.2 為欄位取別名 292
10.8 使用正則表達式查詢 293
10.8.1 查詢以特定字元或字元串開頭
的記錄 294
10.8.2 查詢以特定字元或字元串結尾
的記錄 295
10.8.3 替代字元串中的任意一個
字元 295
10.8.4 匹配多個字元 296
10.8.5 匹配指定字元串 297
10.8.6 匹配指定字元中的任意一個 298
10.8.7 匹配指定字元以外的字元 299
10.8.8 指定字元串連續出現的次數 299
10.9 綜合實例——數據表查詢操作 300
10.10 高手甜點 307
10.11 跟我學上機 308
第11章存儲過程和函式 309
11.1 創建存儲過程和函式 310
11.1.1 創建存儲過程 310
11.1.2 創建存儲函式 312
11.1.3 變數的使用 313
11.1.4 定義條件和處理程式 314
11.1.5 游標的使用 317
11.1.6 流程控制的使用 318
11.2 調用存儲過程和函式 322
11.2.1 調用存儲過程 323
11.2.2 調用存儲函式 323
11.3 查看存儲過程和函式 324
11.3.1 查看存儲過程和函式的狀態 324
11.3.2 查看存儲過程和函式的定義 325
11.3.3 查看存儲過程和函式的信息 326
11.4 修改存儲過程和函式 327
11.5 刪除存儲過程和函式 329
11.6 綜合實例——綜合套用存儲過程
和函式 329
11.7 高手甜點 332
11.8 跟我學上機 333
第12章MySQL觸發器 335
12.1 創建觸發器 336
12.1.1 創建只有一個執行語句的
觸發器 336
12.1.2 創建有多個執行語句的
觸發器 337
12.2 查看觸發器 339
12.2.1 用SHOWTRIGGERS語句
查看觸發器信息 339
12.2.2 在triggers表中查看觸發器
信息 341
12.3 觸發器的使用 342
12.4 刪除觸發器 343
12.5 綜合實例——觸發器的套用 343
12.6 高手甜點 345
12.7 跟我學上機 346
第4篇MySQL資料庫高級管理
第13章MySQL安全性機制 349
13.1 許可權表 350
13.1.1user表 350
13.1.2db表和host表 352
13.1.3tables_priv表和
columns_priv表 354
13.1.4procs_priv表 356
13.2 賬戶管理 356
13.2.1 登錄和退出MySQL伺服器 356
13.2.2 新建普通用戶 358
13.2.3 刪除普通用戶 361
13.2.4 root用戶修改自己的密碼 363
13.2.5 root用戶修改普通用戶密碼 364
13.2.6 普通用戶修改密碼 365
13.2.7 root用戶密碼丟失的解決
辦法 366
13.3 許可權管理 367
13.3.1 MySQL的各種許可權 368
13.3.2 授權 370
13.3.3 收回許可權 372
13.3.4 查看許可權 373
13.4 訪問控制 373
13.4.1 連線核實階段 374
13.4.2 請求核實階段 374
13.5 綜合實例——綜合管理用戶許可權 375
13.6 高手甜點 378
13.7 跟我學上機 378
第14章數據備份與還原 381
14.1 數據備份 382
14.1.1 使用mysqldump命令備份 382
14.1.2 直接複製整個資料庫目錄 388
14.1.3 使用mysqlhotcopy工具快速
備份 388
14.2 數據還原 389
14.2.1 使用mysql命令還原 389
14.2.2 直接複製到資料庫目錄 390
14.2.3 mysqlhotcopy快速恢復 390
14.3 資料庫遷移 391
14.3.1 相同版本的MySQL資料庫
之間的遷移 391
14.3.2 不同版本的MySQL資料庫
之間的遷移 391
14.3.3 不同資料庫之間的遷移 392
14.4 表的導出和導入 392
14.4.1 用SELECT…INTOOUTFILE
導出文本檔案 392
14.4.2 用mysqldump命令導出文本
檔案 395
14.4.3 用mysql命令導出文本檔案 397
14.4.4 使用LOADDATAINFILE
方式導入文本檔案 400
14.4.5 使用mysqlimport命令導入
文本檔案 402
14.5 綜合實例——數據的備份與恢復 404
14.6 高手甜點 408
14.7 跟我學上機 409
第15章管理MySQL日誌 411
15.1 日誌簡介 412
15.2 二進制日誌 412
15.2.1 啟動和設定二進制日誌 412
15.2.2 查看二進制日誌 413
15.2.3 刪除二進制日誌 415
15.2.4 使用二進制日誌還原資料庫 417
15.2.5 暫時停止記錄二進制日誌的
功能 417
15.3 錯誤日誌 418
15.3.1 啟動和設定錯誤日誌 418
15.3.2 查看錯誤日誌 418
15.3.3 刪除錯誤日誌 419
15.4 通用查詢日誌 420
15.4.1 啟動和設定通用查詢日誌 420
15.4.2 查看通用查詢日誌 420
15.4.3 刪除通用查詢日誌 420
15.5 慢查詢日誌 421
15.5.1 啟動和設定慢查詢日誌 421
15.5.2 查看慢查詢日誌 422
15.5.3 刪除慢查詢日誌 422
15.6 綜合實例——MySQL日誌的綜合
管理 422
15.7 高手甜點 428
15.8 跟我學上機 428
第16章MySQL性能的最佳化 429
16.1 最佳化簡介 430
16.2 最佳化查詢 430
16.2.1 分析查詢語句 431
16.2.2 索引對查詢速度的影響 433
16.2.3 使用索引查詢 434
16.2.4 最佳化子查詢 436
16.3 最佳化資料庫結構 437
16.3.1 將欄位較多的表分解成
多個表 437
16.3.2 增加中間表 438
16.3.3 增加冗餘欄位 440
16.3.4最佳化插入記錄的速度 440
16.3.5分析、檢查和最佳化表 442
16.4 最佳化MySQL伺服器 443
16.4.1 最佳化伺服器硬體 444
16.4.2 最佳化MySQL的參數 444