序言
第1章:使用mysql客戶端程序
1.0 引言
1.1 建立MySQL用戶賬號
1.2 創建數據庫和樣錶
1.3 啓動和停止mysql
1.4 使用可選項文件來指定連接參數
1.5 保護選項文件以阻止其他用戶讀取
1.6 混閤使用命令行和選項文件參數
1.7 找不到mysql時該怎麼做
1.8 發起SQL語句
1.9 取消一條部分輸入的語句
1.10 重復和編輯SQL語句
1.11 自動完成數據庫名和錶名
1.12 讓mysql從文件中讀取語句
1.13 讓mysql從其他程序讀取語句
1.14 一行輸入SQL
1.15 使用拷貝粘貼作為mysql輸入源
1.16 預防查詢輸齣超齣屏幕範圍
1.17 發送查詢輸齣到文件或程序
1.18 選擇錶格或製錶符定界的查詢輸齣格式
1.19 指定任意的輸齣列分隔符
1.20 生成HTML或XML輸齣
1.21 在查詢輸齣中禁止列頭部
1.22 使長輸齣行更具可讀性
1.23 控製mysql的繁冗級彆
1.24 記錄交互式的mysql會話
1.25 以之前執行的語句創建mysql腳本
1.26 在SQL語句中使用用戶自定義的變量
1.27 為查詢輸齣行計數
1.28 將mysql用作計算器
1.29 在Shell腳本中使用mysql
第2章:編寫基於MySQL的程序
2.0 引言
2.1 連接、選擇數據庫及斷開連接
2.2 查錯
2.3 編寫庫文件
2.4 發起語句並檢索結果
2.5 處理語句中的特殊字符和NULL值
2.6 處理標識符中特殊字符
2.7 識彆結果集中的NULL值
2.8 獲取連接參數的技術
2.9 結論和建議
第3章:從錶中查詢數據
3.0 引言
3.1 指定查詢列/從指定列中查詢
3.2 指定查詢行
3.3 格式化顯示查詢結果
3.4 使用列彆名來簡化程序
3.5 閤並多列來構建復閤值
3.6 Where錶達式中的列彆名
3.7 調試比較錶達式
3.8 使查詢結果唯一化
3.9 如何處理NULL 值
3.10 在用戶程序中使用NULL作為比較參數
3.11 結果集排序
3.12 使用視圖來簡化查詢
3.13 多錶查詢
3.14 從查詢結果集頭或尾取齣部分行
3.15 在結果集中間選取部分行
3.16 選擇閤適的LIMIT參數
3.17 當LIMIT需要“錯誤”的排列順序時做什麼
3.18 從錶達式中計算LIMIT值
第4章:錶管理
4.0 引言
4.1 剋隆錶
4.2 將查詢結果保存到錶中
4.3 使用臨時錶
4.4 檢查或改變某個錶的存儲引擎
4.5 生成唯一的錶名
第5章:與字符串共舞
5.0 引言
5.1 字符串屬性
5.2 選擇字符串的數據類型
5.3 正確設置客戶端連接的字符集
5.4 串字母
5.5 檢查一個字符串的字符集或字符排序
5.6 改變字符串的字符集或字符排序
5.7 更改字符串字母的大小寫
5.8 更改字符串大小寫失敗的情況
5.9 控製字符串比較中的大小寫敏感
5.10 使用SQL模式進行模式匹配
5.11 使用正則錶達式進行模式匹配
5.12 模式匹配中的大小寫問題
5.13 分割或者串聯字符串
5.14 查詢子串
5.15 使用FULLTEXT查詢
5.16 用短語來進行FULLTEXT查詢
5.17 要求或禁止FULLTEXT搜索單詞
5.18 用FULLTEXT索引來執行詞組查詢
第6章:使用日期和時間
6.0 引言
6.1 選擇閤適的日期或者時間變量類型
6.2 修改MySQL中的日期格式
6.3 設置客戶端時區
6.4 獲取當前日期或時間
6.5 使用TIMESTAMP來跟蹤行修改時間
6.6 從日期或者時間值中分解齣各部分值
6.7 閤成日期或者時間值
6.8 在時間數據類型和基本單位間進行轉換
6.9 計算兩個日期或時間之間的間隔
6.10 增加日期或時間值
6.11 計算年齡
6.12 將一個日期和時間值切換到另一個時區
6.13 找齣每月的第一天,最後一天或者天數
6.14 通過子串替換來計算日期
6.15 計算某個日期為星期幾
6.16 查齣給定某周的某天的日期
6.17 執行閏年計算
6.18 接近但不是ISO格式的日期格式
6.19 將日期或時間當成數值
6.20 強製MySQL將字符串當作時間值
6.21 基於時間特性來查詢行
第7章:排序查詢結果
7.0 引言
7.1 使用ORDER BY命令排序查詢結果
7.2 使用錶達式排序
7.3 顯示一組按照其它屬性排序的值
7.4 字符串排序的大小寫區分控製
7.5 基於日期的排序
7.6 按日曆排序
7.7 按周曆排序
7.8 按時鍾排序
7.9 按數據列的子串排序
7.10 按固定長度的子串排序
7.11 按可變長度的子串排序
7.12 按域名順序排列主機名
7.13 按照數字順序排序點分式IP地址
7.14 將數值移動到排序結果的頭部或尾部
7.15 按照用戶定義排序
7.16 排序枚舉數值
第8章:生成摘要
8.0 引言
8.1 使用COUNT函數生成摘要
8.2 使用MIN()和MAX()函數生成摘要
8.3 使用SUM()和AVG()函數生成摘要
8.4 使用DISTINCT函數消除重復
8.5 查找數值相關的最大值和最小值
8.6 控製MIN()函數和MAX()函數的字符串大小寫區分
8.7 將摘要劃分為子群
8.8 摘要與空值
8.9 使用確定的特性選擇組群
8.10 使用計數確定數值是否唯一
8.11 使用錶達式結果分組
8.12 分類無類彆數據
8.13 控製摘要顯示順序
8.14 查找最小或最大的摘要數值
8.15 基於日期的摘要
8.16 同時使用每一組的摘要和全體的摘要
8.17 生成包括摘要和列錶的報告
第9章:獲取和使用元數據
9.0 引言
9.1 獲取受語句影響的數據行數目
9.2 獲取設置元數據的結果
9.3 確定一條語句是否生成瞭結果集
9.4 使用元數據來格式化查詢輸齣
9.5 列舉或檢查數據庫或錶的擴展
9.6 訪問錶數據列定義
9.7 取得ENUM和SET數據列信息
9.8 在應用程序中使用錶結構信息
9.9 獲取服務器元數據
9.10 編寫適閤MySQL服務器版本的應用程序
9.11 確定默認數據庫
9.12 監測MySQL服務器
9.13 確定服務器支持哪個存儲引擎
第10章:數據導入導齣
10.0 引言
10.1 使用LOAD DATA和mysqlimport導入數據
10.2 指定數據文件位置
10.3 指定數據文件的結構
10.4 處理引號和特殊字符
10.5 導入CSV文件
10.6 讀取不同操作係統的文件
10.7 處理重復的鍵值
10.8 獲取關於錯誤輸入數據的診斷信息
10.9 跳過數據文件行
10.10 指定輸入列順序
10.11 在插入輸入值之前對數據文件進行預處理
10.12 忽略數據文件列
10.13 從MySQL中導齣查詢結果
10.14 將錶導齣為文本文件
10.15 以SQL格式導齣錶內容或定義
10.16 將錶或數據庫拷貝到另一個服務器
10.17 編寫你自己的導齣程序
10.18 將數據文件從一種格式轉化為另一種格式
10.19 提取和重排數據文件列
10.20 使用SQL模式來控製錯誤的輸入數據處理
10.21 驗證並轉換數據
10.22 使用模式匹配來驗證數據
10.23 使用模式來匹配廣泛的內容類型
10.24 使用模式來匹配數值
10.25 使用模式來匹配日期或時間
10.26 使用模式來匹配E-mail地址或URL
10.27 使用錶元數據來驗證數據
10.28 使用一個查找錶來驗證數據
10.29 將兩個數字的年份值轉化為四位形式
10.30 驗證日期和時間閤法性
10.31 編寫時間處理工具
10.32 使用不完整的日期
10.33 導入非ISO格式日期值
10.34 使用非ISO格式導齣日期值
10.35 導入和導齣NULL值
10.36 根據數據文件猜測錶結構
10.37 在MySQL和Access之間交換數據
10.38 在MySQL和Microsoft Excel之間交換數據
10.39 將輸齣結果導齣為XML
10.40 將XML導入MySQL
10.41 尾聲
第11章:生成和使用序列
11.0 引言
11.1 創建一個序列列並生成序列值
11.2 為序列列選擇數據類型
11.3 序列生成的行刪除的效果
11.4 查詢序列值
11.5 對一個已有的序列進行重新計數
11.6 擴展序列列的取值範圍
11.7 序列頂部數值的再使用
11.8 確保各行按照給定順序重編號
11.9 從某個特定值開始一個序列
11.10 序列化一個未序列的錶
11.11 使用AUTO_INCREMENT欄來創建多重序列
11.12 管理多重並發AUTO_INCREMENT數值
11.13 使用AUTO_INCREMENT值將錶進行關聯
11.14 將序列生成器用作計數器
11.15 創建循環序列
11.16 按行順序輸齣數列查詢
第12章:使用多重錶
12.0 引言
12.1 在錶中找到與另一個錶中的行相匹配的行
12.2 查找與其他錶不匹配的行
12.3 將錶與自身進行比較
12.4 産生主從列錶和摘要
12.5 枚舉多對多的關係
12.6 查找每組行中含有最大或最小值的行
12.7 計算隊伍排名
12.8 使用連接補全或識彆列錶的缺口
12.9 計算連續行的差值
12.10 發現纍積和與動態均值
12.11 使用連接控製查詢輸齣的順序
12.12 在單個查詢中整閤幾個結果集
12.13 識彆並刪除失配或獨立行
12.14 為不同數據庫間的錶執行連接
12.15 同時使用不同的MySQL服務器
12.16 在程序中引用連接的輸齣列名稱
第13章:統計技術
13.0 引言
13.1 計算描述統計
13.2 分組描述統計
13.3 産生頻率分布
13.4 計數缺失值
13.5 計算綫性迴歸和相關係數
13.6 生成隨機數
13.7 隨機化行集閤
13.8 從行集閤中隨機選擇條目
13.9 分配等級
第14章:處理重復項
14.0 引言
14.1 防止在錶中發生重復
14.2 處理嚮錶中裝載行時齣現的重復錯誤
14.3 計數和識彆重復項
14.4 從錶中消除重復項
14.5 從自連接的結果中消除重復
第15章:執行事務
15.0 引言
15.1 使用事務存儲引擎
15.2 使用SQL執行事務
15.3 在程序中執行事務
15.4 在Perl程序中使用事務
15.5 在Ruby程序中使用事務
15.6 在PHP程序中使用事務
15.7 在Python程序中使用事務
15.8 在Java程序中使用事務
15.9 使用事務的替代方法
第16章:使用存儲例程、觸發器和事件
16.0 引言
16.1 創建復閤語句對象(此節翻譯有誤)
16.2 使用存儲函數封裝計算
16.3 使用存儲過程來“返迴”多個值
16.4 用觸發器來定義動態的默認列值
16.5 為其他日期和時間類型模擬TIMESTAMP屬性
16.6 使用觸發器記錄錶的變化
16.7 使用事件調度數據庫動作
第17章:關於Web應用中MySQL的介紹
17.0 引言
17.1 Web頁麵産生的基本原則
17.2 使用Apache運行web腳本
17.3 使用Tomcat運行Web腳本
17.4 在Web輸齣中編碼特殊字符
第18章:在Web頁麵中混閤查詢結果
18.0 引言
18.1 以段落文本顯示查詢結果
18.2 以列錶形式顯示查詢結果
18.3 以錶格形式顯示查詢結果
18.4 將查詢結果顯示為超鏈接
18.5 根據數據庫內容中創建導航索引
18.6 存儲圖片或其他二進製數據
18.7 檢索圖片或其他二進製數據
18.8 提供標語廣告
18.9 提供可下載的查詢結果
18.10 使用模闆係統生成web頁麵
第19章:用MySQL處理Web輸入
19.0 引言
19.1 編寫腳本生成Web錶單
19.2 根據數據庫內容構建單取錶單元素
19.3 根據數據庫內容構建多取錶單元素
19.4 將一條數據庫記錄導入錶單
19.5 收集Web輸入
19.6 驗證Web輸入
19.7 將Web輸入存入數據庫
19.8 處理文件上傳
19.9 執行搜索並顯示結果
19.10 生成上一頁和下一頁鏈接
19.11 生成點擊排序的錶格頭單元
19.12 Web頁麵訪問計數
19.13 Web頁麵訪問日誌
19.14 使用MySQL存儲Apache日誌
第20章:使用基於MySQL的Web會話管理
20.0 引言
20.1 在Perl應用程序中使用基於MySQL的會話
20.2 在Ruby應用程序中使用基於MySQL的存儲
20.3 在PHP會話管理器中使用基於MySQL的存儲
20.4 在Tomcat中為會話支持存儲使用MySQL
附錄A:獲取MySQL軟件
附錄B:從命令行執行程序
附錄C:JSP和Tomcat知識的初步內容
附錄D:參考資料
索引
· · · · · · (
收起)