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