內容簡介
《MySQL技術內幕(第5版)》是MySQL方麵名副其實的經典著作,全麵介紹MySQL的基礎知識以及MySQL有彆於其他數據庫係統的獨特功能,書中特彆關注如何高效地使用和管理MySQL。
《MySQL技術內幕(第5版)》由4個部分組成:第一部分集中介紹與數據庫使用相關的一些基本概念,第二部分重點關注的是自己如何動手編寫和使用MySQL的程序,第三部分主要是麵嚮那些負責數據庫管理的讀者,第四部分提供瞭一些參考附錄。書中包含大量示例,詳盡地演示瞭MySQL的各項功能特性。此外,本書還為使用C語言、PHP語言和Perl語言開發數據庫應用的讀者提供瞭相關內容。
《MySQL技術內幕(第5版)》不僅適閤MySQL初學者閱讀,也適閤想要深入瞭解MySQL的數據庫管理人員和開發人員參考。
作者簡介
Paul DuBois是作傢,數據庫管理員,也是開源社區和MySQL社區的領導者。他為MySQL在綫文檔做齣瞭很大貢獻,其著作包括MySQL and Perl for the Web、MySQL Cookbook、Using csh and tcsh和Software Portability with imake。目前,他是Oracle公司MySQL文檔團隊的一名技術作傢。
內頁插圖
目錄
目錄
第1章 MySQL入門 1
1.1 MySQL的用途 1
1.2 示例數據庫 3
1.2.1 美史聯盟項目 4
1.2.2 成績考評項目 5
1.2.3 如何運用示例數據庫 5
1.3 基本數據庫術語 6
1.3.1 結構術語 6
1.3.2 查詢語言術語 8
1.3.3 MySQL的體係結構術語 8
1.4 MySQL教程 9
1.4.1 獲取示例數據庫發行包 10
1.4.2 基本配置要求 10
1.4.3 建立和斷開MySQL服務器連接 11
1.4.4 執行SQL語句 13
1.4.5 創建數據庫 15
1.4.6 創建錶 15
1.4.7 添加新行 29
1.4.8 重置sampdb數據庫 32
1.4.9 檢索信息 33
1.4.10 刪除或更新已有行 56
1.5 mysql交互技巧 58
1.5.1 簡化連接過程 58
1.5.2 在調用命令時減少打字輸入 60
1.6 何去何從 63
第2章 使用SQL管理數據 64
2.1 服務器的SQL模式 65
2.2 MySQL的標識符語法和命名規則 66
2.3 SQL語句的大小寫規則 67
2.4 字符集支持 68
2.4.1 指定字符集 69
2.4.2 確定可用字符集和當前設置 70
2.4.3 Unicode支持 71
2.5 數據庫的選擇、創建、刪除和更改 72
2.5.1 選擇數據庫 72
2.5.2 創建數據庫 72
2.5.3 刪除數據庫 73
2.5.4 更改數據庫 73
2.6 錶的創建、刪除、索引和更改 73
2.6.1 存儲引擎的特性 73
2.6.2 創建錶 77
2.6.3 刪除錶 84
2.6.4 索引錶 84
2.6.5 更改錶結構 88
2.7 獲取數據庫元數據 90
2.7.1 使用SHOW語句獲取元數據 90
2.7.2 藉助INFORMATION_SCHEMA獲取元數據 92
2.7.3 從命令行獲取元數據 94
2.8 使用連接實現多錶檢索 95
2.8.1 內連接 96
2.8.2 對被連接錶裏的列引用進行限定 97
2.8.3 左(外)連接和右(外)連接 97
2.9 使用子查詢實現多錶檢索 100
2.9.1 帶關係比較運算符的子查詢 101
2.9.2 IN和NOT IN子查詢 102
2.9.3 ALL、ANY和SOME子查詢 103
2.9.4 EXISTS和NOT EXISTS子查詢 103
2.9.5 相關子查詢 104
2.9.6 FROM子句裏的子查詢 104
2.9.7 將子查詢改寫為連接 104
2.10 使用UNION實現多錶檢索 106
2.11 多錶刪除和更新 108
2.12 事務處理 110
2.12.1 利用事務保證語句安全執行 111
2.12.2 使用事務保存點 114
2.12.3 事務隔離 114
2.13 外鍵和引用完整性 116
2.14 使用FULLTEXT搜索 121
2.14.1 自然語言FULLTEXT搜索 122
2.14.2 布爾模式的全文搜索 124
2.14.3 查詢擴展全文搜索 125
2.14.4 配置全文搜索引擎 126
第3章 數據類型 127
3.1 數據值類彆 128
3.1.1 數值 128
3.1.2 字符串值 129
3.1.3 時態(日期/時間)值 136
3.1.4 空間值 136
3.1.5 布爾值 136
3.1.6 NULL值 136
3.2 MySQL數據類型 137
3.2.1 數據類型概述 137
3.2.2 錶定義裏的特殊列類型 138
3.2.3 指定列的默認值 139
3.2.4 數字數據類型 140
3.2.5 字符串數據類型 145
3.2.6 時態(日期/時間)數據類型 156
3.3 MySQL如何處理效數據值 163
3.4 處理序列 164
3.4.1 通用的AUTO_INCREMENT屬性 164
3.4.2 存儲引擎特有的AUTO_INCREMENT屬性 166
3.4.3 使用AUTO_INCREMENT列需要考慮的問題 168
3.4.4 AUTO_INCREMENT列的使用提示 168
3.4.5 在AUTO_INCREMENT的情況下生成序列 170
3.5 錶達式計算和類型轉換 171
3.5.1 編寫錶達式 172
3.5.2 類型轉換 177
3.6 選擇數據類型 183
3.6.1 列要存放什麼類型的值 184
3.6.2 所有值是否都在某個特定的區間內 186
第4章 視圖和存儲程序 188
4.1 使用視圖 189
4.2 使用存儲程序 191
4.2.1 復閤語句和語句分隔符 191
4.2.2 存儲函數和存儲過程 193
4.2.3 觸發器 196
4.2.4 事件 197
4.3 視圖和存儲程序的安全性 199
第5章 查詢優化 200
5.1 使用索引 200
5.1.1 索引的優點 201
5.1.2 索引的代價 203
5.1.3 挑選索引 203
5.2 MySQL查詢優化程序 206
5.2.1 查詢優化程序的工作原理 207
5.2.2 使用EXPLAIN檢查優化程序的操作 209
5.3 選擇利於高效查詢的數據類型 214
5.4 選擇利於高效查詢的錶存儲格式 216
5.5 高效加載數據 217
5.6 調度、鎖定和並發 219
第6章 MySQL程序設計入門 221
6.1 為何要自己編寫MySQL程序 221
6.2 MySQL提供的API 223
6.2.1 C語言API 224
6.2.2 Perl語言DBI API 224
6.2.3 PHP語言API 225
6.3 選擇API 226
6.3.1 執行環境 227
6.3.2 性能 227
6.3.3 開發時間 228
6.3.4 可移植性 228
第7章 用C語言編寫MySQL程序 230
7.1 編譯和鏈接客戶端程序 231
7.2 連接服務器 233
7.3 齣錯處理和命令選項處理 236
7.3.1 齣錯檢查 236
7.3.2 實時獲取連接參數 239
7.3.3 把選項處理整閤進客戶端程序 248
7.4 處理SQL語句 252
7.4.1 處理那些修改行的語句 253
7.4.2 處理那些返迴結果集的語句 254
7.4.3 通用的語句處理器 256
7.4.4 另一種語句處理方法 257
7.4.5 mysql_store_result()與mysql_use_result()的對比 258
7.4.6 使用結果集元數據 260
7.4.7 對特殊字符和二進製數據進行編碼 264
7.5 交互式語句執行程序 267
7.6 編寫支持SSL的客戶端程序 268
7.7 一次執行多條語句 272
7.8 使用服務器端預處理語句 273
7.9 使用預處理CALL支持 282
第8章 用Perl DBI編寫MySQL程序 286
8.1 Perl腳本的特點 286
8.2 Perl DBI概述 287
8.2.1 DBI數據類型 287
8.2.2 一個簡單的DBI腳本 288
8.2.3 齣錯處理 291
8.2.4 處理那些修改行的語句 294
8.2.5 處理那些返迴結果集的語句 295
8.2.6 在語句串裏引用特殊字符 302
8.2.7 占位符與預處理語句 305
8.2.8 把查詢結果綁定到腳本變量 307
8.2.9 指定連接參數 307
8.2.10 調試 310
8.2.11 使用結果集元數據 312
8.2.12 執行事務 316
8.3 DBI腳本實踐 317
8.3.1 生成美史聯盟成員名錄 317
8.3.2 發送成員資格更新通知 322
8.3.3 編輯美史聯盟成員條目 326
8.3.4 尋找誌趣相投的聯盟成員 331
8.3.5 把美史聯盟成員名錄放到網上 332
8.4 使用DBI來開發Web應用程序 334
8.4.1 配置Apache服務器來處理CGI腳本 335
8.4.2 CGI.pm模塊簡介 336
8.4.3 從Web腳本連接MySQL服務器 342
8.4.4 基於Web的數據庫瀏覽器 343
8.4.5 成績考評項目:分數瀏覽器 347
8.4.6 美史聯盟:搜索誌趣相投的成員 350
第9章 用PHP語言編寫MySQL程序 354
9.1 PHP概述 355
9.1.1 一個簡單的PHP腳本 357
9.1.2 利用PHP庫文件實現代碼封裝 359
9.1.3 簡單的數據檢索頁麵 363
9.1.4 處理語句結果 365
9.1.5 測試查詢結果裏的NULL值 368
9.1.6 使用預處理語句 369
9.1.7 利用占位符來處理數據引號問題 369
9.1.8 齣錯處理 371
9.2 PHP腳本實戰 372
9.2.1 一個在綫錄入分數的應用程序 373
9.2.2 創建交互式的在綫測驗 382
9.2.3 在綫編輯美史聯盟成員信息 386
第10章 MySQL管理簡介 393
10.1 MySQL組件 393
10.2 MySQL的常規管理 3
前言/序言
MySQL技術內幕(第5版) 下載 mobi epub pdf txt 電子書 格式