《MySQL技術(shù)內(nèi)幕(第4版)》介紹了MySQL的基礎(chǔ)知識(shí)及其有別于其他數(shù)據(jù)庫(kù)系統(tǒng)的獨(dú)特功能,包括SQL的工作原理和MySQL API的相關(guān)知識(shí);講述了如何將MySQL與Perl或PHP等語(yǔ)言結(jié)合起來(lái),為數(shù)據(jù)庫(kù)查詢結(jié)果生成動(dòng)態(tài)Web頁(yè)面,如何編寫MySQL數(shù)據(jù)訪問(wèn)程序;詳細(xì)討論了數(shù)據(jù)庫(kù)管理和維護(hù)、數(shù)據(jù)目錄的組織和內(nèi)容、訪問(wèn)控制、安全連接等。附錄還提供了軟件的安裝信息,羅列了MySQL數(shù)據(jù)類型、函數(shù)、變量、語(yǔ)法、程序、API等重要細(xì)節(jié)。
MySQL技術(shù)內(nèi)幕(第4版)是一部全面的MySQL指南,對(duì)數(shù)據(jù)庫(kù)系統(tǒng)感興趣的讀者都能從中獲益?!禡ySQL技術(shù)內(nèi)幕(第4版)》,可以高效地掌握MySQL的使用方法,從而高效地完成自己的工作。你將會(huì)學(xué)到怎樣把信息資料錄入數(shù)據(jù)庫(kù),怎樣構(gòu)造出查詢語(yǔ)句以迅速獲得有關(guān)問(wèn)題的答案。
即使不是程序員,也可以學(xué)習(xí)和使用SQL。本書內(nèi)容的重點(diǎn)之一就是介紹SQL的工作原理。但熟悉SQL的語(yǔ)法并不代表你掌握了SQL的使用技巧,所以本書的另一個(gè)重點(diǎn)就是介紹MySQL的獨(dú)特功能及其用法。
目錄:
第一部分 MySQL基礎(chǔ)知識(shí)
第1章 MySQL和SQL 入門
1.1 MySQL的用途
1.2 示例數(shù)據(jù)庫(kù)
1.2.1 &"美國(guó)歷史研究會(huì)&"場(chǎng)景
1.2.2 考試記分項(xiàng)目
1.2.3 關(guān)于示例數(shù)據(jù)庫(kù)的說(shuō)明
1.3 數(shù)據(jù)庫(kù)基本術(shù)語(yǔ)
1.3.1 數(shù)據(jù)庫(kù)的組織結(jié)構(gòu)
1.3.2 數(shù)據(jù)庫(kù)查詢語(yǔ)言
1.3.3 MySQL的體系結(jié)構(gòu)
1.4 MySQL
1.4.1 如何獲得示例數(shù)據(jù)庫(kù)
1.4.2 最低配置要求
1.4.3 如何建立和斷開與服務(wù)器的連接
1.4.4 執(zhí)行SQL語(yǔ)句
1.4.5 創(chuàng)建數(shù)據(jù)庫(kù)
1.4.6 創(chuàng)建數(shù)據(jù)表
1.4.7 如何添加新的數(shù)據(jù)行
1.4.8 將sampdb數(shù)據(jù)庫(kù)重設(shè)為原來(lái)的狀態(tài)
1.4.9 檢索信息
1.4.10 如何刪除或更新現(xiàn)有的數(shù)據(jù)行
1.5 與客戶程序MySQL交互的技巧
1.5.1 簡(jiǎn)化連接過(guò)程
1.5.2 減少輸入查詢命令時(shí)的打字動(dòng)作
1.6 后面各章的學(xué)習(xí)計(jì)劃
第2章 使用SQL管理數(shù)據(jù)
2.1 MySQL服務(wù)器的SQL模式
2.2 MySQL標(biāo)識(shí)符語(yǔ)法和命名規(guī)則
2.3 SQL語(yǔ)句中的字母大小寫問(wèn)題
2.4 字符集支持
2.4.1 字符集的設(shè)定
2.4.2 確定可供選用的字符集和當(dāng)前設(shè)置
2.4.3 Unicode支持
2.5 數(shù)據(jù)庫(kù)的選定、創(chuàng)建、刪除和變更
2.5.1 數(shù)據(jù)庫(kù)的選定
2.5.2 數(shù)據(jù)庫(kù)的創(chuàng)建
2.5.3 數(shù)據(jù)庫(kù)的刪除
2.5.4 數(shù)據(jù)庫(kù)的變更
2.6 數(shù)據(jù)表的創(chuàng)建、刪除、索引和變更
2.6.1 存儲(chǔ)引擎的特征
2.6.2 創(chuàng)建數(shù)據(jù)表
2.6.3 刪除數(shù)據(jù)表
2.6.4 為數(shù)據(jù)表編制索引
2.6.5 改變數(shù)據(jù)表的結(jié)構(gòu)
2.7 獲取數(shù)據(jù)庫(kù)的元數(shù)據(jù)
2.7.1 用SHOW語(yǔ)句獲取元數(shù)據(jù)
2.7.2 從INFORMATION_SCHEMA數(shù)據(jù)庫(kù)獲取元數(shù)據(jù)
2.7.3 從命令行獲取元數(shù)據(jù)
2.8 利用聯(lián)結(jié)操作對(duì)多個(gè)數(shù)據(jù)表進(jìn)行檢索
2.8.1 內(nèi)聯(lián)結(jié)
2.8.2 避免歧義:如何在聯(lián)結(jié)操作中給出數(shù)據(jù)列的名字
2.8.3 左聯(lián)結(jié)和右聯(lián)結(jié)(外聯(lián)結(jié))
2.9 用子查詢進(jìn)行多數(shù)據(jù)表檢索
2.9.1 子查詢與關(guān)系比較操作符
2.9.2 IN和NOT IN子查詢
2.9.3 ALL、ANY和SOME子查詢
2.9.4 EXISTS和NOT EXISTS子查詢
2.9.5 與主查詢相關(guān)的子查詢
2.9.6 FROM子句中的子查詢
2.9.7 把子查詢改寫為聯(lián)結(jié)查詢
2.10 用UNION語(yǔ)句進(jìn)行多數(shù)據(jù)表檢索
2.11 使用視圖
2.12 涉及多個(gè)數(shù)據(jù)表的刪除和更新操作
2.13 事務(wù)處理
2.13.1 利用事務(wù)來(lái)保證語(yǔ)句的安全執(zhí)行
2.13.2 使用事務(wù)保存點(diǎn)
2.13.3 事務(wù)的隔離性
2.13.4 事務(wù)問(wèn)題的非事務(wù)解決方案
2.14 外鍵和引用完整性
2.14.1 外鍵的創(chuàng)建和使用
2.14.2 如果不能使用外鍵該怎么辦
2.15 使用FULLTEXT索引
2.15.1 全文搜索:自然語(yǔ)言模式
2.15.2 全文搜索:布爾模式
2.15.3 全文搜索:查詢擴(kuò)展模式
2.15.4 配置全文搜索引擎
第3章 數(shù)據(jù)類型
3.1 數(shù)據(jù)值的類別
3.1.1 數(shù)值
3.1.2 字符串值
3.1.3 日期/時(shí)間值
3.1.4 坐標(biāo)值
3.1.5 布爾值
3.1.6 空值NULL
3.2 MySQL的數(shù)據(jù)類型
3.2.1 數(shù)據(jù)類型概述
3.2.2 數(shù)據(jù)表中的特殊列類型
3.2.3 指定列默認(rèn)值
3.2.4 數(shù)值數(shù)據(jù)類型
3.2.5 字符串?dāng)?shù)據(jù)類型
3.2.6 日期/時(shí)間數(shù)據(jù)類型
3.2.7 空間數(shù)據(jù)類型
3.3 MySQL如何處理非法數(shù)據(jù)值
3.4 序列
3.4.1 通用AUTO_INCREMENT屬性
3.4.2 與特定存儲(chǔ)引擎有關(guān)的AUTO_INCREMENT屬性
3.4.3 使用AUTO_INCREMENT數(shù)據(jù)列時(shí)的要點(diǎn)
3.4.4 使用AUTO_INCREMENT機(jī)制時(shí)的注意事項(xiàng)
3.4.5 如何在不使用AUTO_INCREMENT的情況下生成序列編號(hào)
3.5 表達(dá)式求值和類型轉(zhuǎn)換
3.5.1 表達(dá)式的編寫
3.5.2 類型轉(zhuǎn)換
3.6 數(shù)據(jù)類型的選用
3.6.1 數(shù)據(jù)列將容納什么樣的數(shù)據(jù)
3.6.2 數(shù)據(jù)是否都在某個(gè)特定的區(qū)間內(nèi)
3.6.3 與挑選數(shù)據(jù)類型有關(guān)的問(wèn)題是相互影響的
第4章 存儲(chǔ)程序
4.1 復(fù)合語(yǔ)句和語(yǔ)句分隔符
4.2 存儲(chǔ)函數(shù)和存儲(chǔ)過(guò)程
4.2.1 存儲(chǔ)函數(shù)和存儲(chǔ)過(guò)程的權(quán)限
4.2.2 存儲(chǔ)過(guò)程的參數(shù)類型
4.3 觸發(fā)器
4.4 事件
4.5 存儲(chǔ)程序和視圖的安全性
第5章 查詢優(yōu)化
5.1 使用索引
5.1.1 索引的優(yōu)點(diǎn)
5.1.2 索引的缺點(diǎn)
5.1.3 挑選索引
5.2 MySQL的查詢優(yōu)化程序
5.2.1 查詢優(yōu)化器的工作原理
5.2.2 用EXPLAIN 語(yǔ)句檢查優(yōu)化器操作
5.3 為提高查詢效率而挑選數(shù)據(jù)類型
5.4 有效加載數(shù)據(jù)
5.5 調(diào)度和鎖定問(wèn)題
5.5.1 改變語(yǔ)句的執(zhí)行優(yōu)先級(jí)
5.5.2 使用延遲插入
5.5.3 使用并發(fā)插入
5.5.4 鎖定級(jí)別與并發(fā)性
5.6 系統(tǒng)管理員所完成的優(yōu)化
5.6.1 使用MyISAM鍵緩存
5.6.2 使用查詢緩存
5.6.3 硬件優(yōu)化
第二部分 MySQL的編程接口
第6章 MySQL程序設(shè)計(jì)
6.1 為什么要自己編寫MySQL程序
6.2 MySQL應(yīng)用程序可用的API
6.2.1 C API
6.2.2 Perl DBI API
6.2.3 PHP API
6.3 如何挑選API
6.3.1 執(zhí)行環(huán)境
6.3.2 性能
6.3.3 開發(fā)時(shí)間
6.3.4 可移植性
第7章 用C語(yǔ)言編寫MySQL程序
7.1 編譯和鏈接客戶程序
7.2 連接到服務(wù)器
7.3 出錯(cuò)消息和命令行選項(xiàng)的處理
7.3.1 出錯(cuò)檢查
7.3.2 實(shí)時(shí)獲取連接參數(shù)
7.3.3 給MySQL客戶程序增加選項(xiàng)處理功能
7.4 處理SQL語(yǔ)句
7.4.1 處理修改數(shù)據(jù)行的語(yǔ)句
7.4.2 處理有結(jié)果集的語(yǔ)句
7.4.3 一個(gè)通用的語(yǔ)句處理程序
7.4.4 另一種語(yǔ)句處理方案
7.4.5 mysql_store_result()與mysql_use_result()函數(shù)的對(duì)比
7.4.6 使用結(jié)果集元數(shù)據(jù)
7.4.7 對(duì)特殊字符和二進(jìn)制數(shù)據(jù)進(jìn)行編碼
7.5 交互式語(yǔ)句執(zhí)行程序
7.6 怎樣編寫具備SSL支持的客戶程序
7.7 嵌入式服務(wù)器庫(kù)的使用
7.7.1 編寫內(nèi)建了服務(wù)器的應(yīng)用程序
7.7.2 生成應(yīng)用程序可執(zhí)行二進(jìn)制文件
7.8 一次執(zhí)行多條語(yǔ)句
7.9 使用服務(wù)器端預(yù)處理語(yǔ)句
第8章 使用Perl DBI編寫MySQL程序
8.1 Perl腳本的特點(diǎn)
8.2 Perl DBI概述
8.2.1 DBI數(shù)據(jù)類型
8.2.2 一個(gè)簡(jiǎn)單的DBI腳本
8.2.3 出錯(cuò)處理
8.2.4 處理修改數(shù)據(jù)行的語(yǔ)句
8.2.5 處理返回結(jié)果集的語(yǔ)句
8.2.6 在語(yǔ)句字符串引用特殊字符
8.2.7 占位符與預(yù)處理語(yǔ)句
8.2.8 把查詢結(jié)果綁定到腳本變量
8.2.9 設(shè)定連接參數(shù)
8.2.10 調(diào)試
8.2.11 使用結(jié)果集的元數(shù)據(jù)
8.2.12 實(shí)現(xiàn)事務(wù)處理
8.3 DBI腳本實(shí)戰(zhàn)
8.3.1 生成美國(guó)歷史研究會(huì)會(huì)員名錄
8.3.2 發(fā)出會(huì)費(fèi)催交通知
8.3.3 會(huì)員記錄項(xiàng)的編輯修改
8.3.4 尋找志趣相同的會(huì)員
8.3.5 把會(huì)員名錄放到網(wǎng)上
8.4 用DBI開發(fā)Web應(yīng)用
8.4.1 配置Apache服務(wù)器使用CGI腳本
8.4.2 CGI.pm模塊簡(jiǎn)介
8.4.3 從Web腳本連接MySQL服務(wù)器
8.4.4 一個(gè)基于Web的數(shù)據(jù)庫(kù)瀏覽器
8.4.5 考試記分項(xiàng)目:考試分?jǐn)?shù)瀏覽器
8.4.6 美國(guó)歷史研究會(huì):尋找志趣相同的會(huì)員
第9章 用PHP編寫MySQL程序
9.1 PHP概述
9.1.1 一個(gè)簡(jiǎn)單的PHP腳本
9.1.2 利用PHP庫(kù)文件實(shí)現(xiàn)代碼封裝
9.1.3 簡(jiǎn)單的數(shù)據(jù)檢索頁(yè)面
9.1.4 處理語(yǔ)句結(jié)果
9.1.5 測(cè)試查詢結(jié)果里的NULL值
9.1.6 使用預(yù)處理語(yǔ)句
9.1.7 利用占位符來(lái)處理帶引號(hào)的數(shù)據(jù)值
9.1.8 出錯(cuò)處理
9.2 PHP腳本實(shí)戰(zhàn)
9.2.1 考試分?jǐn)?shù)的在線錄入
9.2.2 創(chuàng)建一個(gè)交互式在線測(cè)驗(yàn)
9.2.3 美國(guó)歷史研究會(huì):會(huì)員個(gè)人資料的在線修改
第三部分 MySQL的系統(tǒng)管理
第10章 MySQL系統(tǒng)管理簡(jiǎn)介
10.1 MySQL組件
10.2 常規(guī)管理
10.3 訪問(wèn)控制與安全性
10.4 數(shù)據(jù)庫(kù)的維護(hù)、備份和復(fù)制
第11章 MySQL的數(shù)據(jù)目錄
11.1 數(shù)據(jù)目錄的位置
11.2 數(shù)據(jù)目錄的層次結(jié)構(gòu)
11.2.1 MySQL服務(wù)器如何提供對(duì)數(shù)據(jù)的訪問(wèn)
11.2.2 MySQL數(shù)據(jù)庫(kù)在文件系統(tǒng)里是如何表示的
11.2.3 數(shù)據(jù)表在文件系統(tǒng)里的表示方式
11.2.4 視圖和觸發(fā)器在文件系統(tǒng)里的表示方式
11.2.5 SQL語(yǔ)句與數(shù)據(jù)表文件操作的對(duì)應(yīng)關(guān)系
11.2.6 操作系統(tǒng)對(duì)數(shù)據(jù)庫(kù)對(duì)象的命名規(guī)則有何影響
11.2.7 影響數(shù)據(jù)表最大長(zhǎng)度的因素
11.2.8 數(shù)據(jù)目錄的結(jié)構(gòu)對(duì)系統(tǒng)性能的影響
11.2.9 MySQL狀態(tài)文件和日志文件
11.3 重新安置數(shù)據(jù)目錄的內(nèi)容
11.3.1 重新安置工作的具體方法
11.3.2 重新安置注意事項(xiàng)
11.3.3 評(píng)估重新安置的效果
11.3.4 重新安置整個(gè)數(shù)據(jù)目錄
11.3.5 重新安置各個(gè)數(shù)據(jù)庫(kù)
11.3.6 重新安置各個(gè)數(shù)據(jù)表
11.3.7 重新安置InnoDB共享表空間
11.3.8 重新安置狀態(tài)文件和日志文件
第12章 MySQL數(shù)據(jù)庫(kù)系統(tǒng)的日常管理
12.1 安裝MySQL軟件后的初始安防設(shè)置
12.1.1 為初始MySQL賬戶設(shè)置口令
12.1.2 為第二個(gè)服務(wù)器設(shè)置口令
12.2 安排MySQL服務(wù)器的啟動(dòng)和關(guān)停
12.2.1 在Unix上運(yùn)行MySQL服務(wù)器
12.2.2 在Windows上運(yùn)行MySQL服務(wù)器
12.2.3 指定服務(wù)器啟動(dòng)選項(xiàng)
12.2.4 關(guān)閉服務(wù)器
12.2.5 當(dāng)你未能連接至服務(wù)器時(shí)重新獲得服務(wù)器的控制
12.3 對(duì)MySQL服務(wù)器的連接監(jiān)聽情況進(jìn)行控制
12.4 管理MySQL用戶賬戶
12.4.1 高級(jí)MySQL賬戶管理操作
12.4.2 對(duì)賬戶授權(quán)
12.4.3 查看賬戶的權(quán)限
12.4.4 撤銷權(quán)限和刪除用戶
12.4.5 改變口令或重新設(shè)置丟失的口令
12.5 維護(hù)日志文件
12.5.1 出錯(cuò)日志
12.5.2 常規(guī)查詢?nèi)罩?
12.5.3 慢查詢?nèi)罩?
12.5.4 二進(jìn)制日志和二進(jìn)制日志索引文件
12.5.5 中繼日志和中繼日志索引文件
12.5.6 日志數(shù)據(jù)表的使用
12.5.7 日志管理
12.6 調(diào)整MySQL服務(wù)器
12.6.1 查看和設(shè)置系統(tǒng)變量的值
12.6.2 通用型系統(tǒng)變量
12.6.3 查看狀態(tài)變量的值
12.7 存儲(chǔ)引擎的配置
12.7.1 為MySQL服務(wù)器挑選存儲(chǔ)引擎
12.7.2 配置MyISAM存儲(chǔ)引擎
12.7.3 配置InnoDB存儲(chǔ)引擎
12.7.4 配置Falcon存儲(chǔ)引擎
12.8 啟用或者禁用LOAD DATA語(yǔ)句的LOCAL能力
12.9 國(guó)際化和本地化問(wèn)題
12.9.1 設(shè)置MySQL服務(wù)器的地理時(shí)區(qū)
12.9.2 選擇用來(lái)顯示出錯(cuò)信息的語(yǔ)言
12.9.3 配置MySQL服務(wù)器的字符集支持
12.10 運(yùn)行多個(gè)服務(wù)器
12.10.1 運(yùn)行多個(gè)服務(wù)器的問(wèn)題
12.10.2 配置和編譯不同的服務(wù)器
12.10.3 指定啟動(dòng)選項(xiàng)的決策
12.10.4 用于服務(wù)器管理的mysqld_multi
12.10.5 在Windows系統(tǒng)上運(yùn)行多個(gè)MySQL服務(wù)器
12.11 升 級(jí)MySQL
第13章 訪問(wèn)控件和安全
13.1 內(nèi)部安全性:防止未經(jīng)授權(quán)的文件系統(tǒng)訪問(wèn)
13.1.1 如何偷取數(shù)據(jù)
13.1.2 保護(hù)你的MySQL安裝
13.2 外部安全性:防止未經(jīng)授權(quán)的網(wǎng)絡(luò)訪問(wèn)
13.2.1 MySQL權(quán)限表的結(jié)構(gòu)和內(nèi)容
13.2.2 服務(wù)器如何控制客戶訪問(wèn)
13.2.3 一個(gè)關(guān)于權(quán)限的難題
13.2.4 應(yīng)該回避的權(quán)限數(shù)據(jù)表風(fēng)險(xiǎn)
13.3 加密連接的建立
第14章 MySQL數(shù)據(jù)庫(kù)的維護(hù)、備份和復(fù)制
14.1 數(shù)據(jù)庫(kù)預(yù)防性維護(hù)工作的基本原則
14.2 在MySQL服務(wù)器運(yùn)行時(shí)維護(hù)數(shù)據(jù)庫(kù)
14.2.1 以只讀方式或讀/寫方式鎖定一個(gè)或多個(gè)數(shù)據(jù)表
14.2.2 以只讀方式鎖定所有的數(shù)據(jù)庫(kù)
14.3 預(yù)防性維護(hù)
14.3.1 充分利用MySQL服務(wù)器的自動(dòng)恢復(fù)能力
14.3.2 定期進(jìn)行預(yù)防性維護(hù)
14.4 制作數(shù)據(jù)庫(kù)備份
14.4.1 用mysqldump程序制作文本備份
14.4.2 制作二進(jìn)制數(shù)據(jù)庫(kù)備份
14.4.3 備份InnoDB或Faclcon數(shù)據(jù)表
14.5 把數(shù)據(jù)庫(kù)復(fù)制到另一個(gè)服務(wù)器
14.5.1 使用一個(gè)備份文件來(lái)復(fù)制數(shù)據(jù)庫(kù)
14.5.2 把數(shù)據(jù)庫(kù)從一個(gè)服務(wù)器復(fù)制到另一個(gè)
14.6 數(shù)據(jù)表的檢查和修復(fù)
14.6.1 用服務(wù)器檢查和修復(fù)數(shù)據(jù)表
14.6.2 用mysqlcheck程序檢查和修復(fù)數(shù)據(jù)表
14.6.3 用myisamchk程序檢查和修復(fù)數(shù)據(jù)表
14.7 使用備份進(jìn)行數(shù)據(jù)恢復(fù)
14.7.1 恢復(fù)整個(gè)數(shù)據(jù)庫(kù)
14.7.2 恢復(fù)數(shù)據(jù)表
14.7.3 重新執(zhí)行二進(jìn)制日志文件里的語(yǔ)句
14.7.4 InnoDB存儲(chǔ)引擎的自動(dòng)恢復(fù)功能
14.8 設(shè)置復(fù)制服務(wù)器
14.8.1 復(fù)制機(jī)制的工作原理
14.8.2 建立主從復(fù)制關(guān)系
14.8.3 二進(jìn)制日志的格式
14.8.4 使用復(fù)制機(jī)制制作備份
第四部分 附錄
附錄A 獲得并安裝有關(guān)軟件
附錄B 數(shù)據(jù)類型指南
附錄C 操作符與函數(shù)用法指南
附錄D 系統(tǒng)變量、狀態(tài)變量和用戶變量使用指南
附錄E SQL語(yǔ)法指南
附錄F MySQL程序指南
附錄G API指南(圖靈網(wǎng)站下載)
附錄H Perl DBI API指南(圖靈網(wǎng)站下載)
附錄I PHP API指南(圖靈網(wǎng)站下載)
為什么要選用MySQL :
如果你正在尋求一種完全免費(fèi)或者價(jià)格比較低廉的數(shù)據(jù)庫(kù)管理系統(tǒng),可以從MySQL、PostgreSQL和SQLite等軟件中選擇一個(gè)。在對(duì)MySQL和其他數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行評(píng)估之前,首先要弄清楚什么因素對(duì)自己最重要。你需要從運(yùn)行性能、技術(shù)支持、特色功能(例如與SQL的兼容程度和可擴(kuò)展性等)、許可證條件、購(gòu)買價(jià)格等多方面進(jìn)行全面的考慮。由此判斷,MySQL在以下方面有比較吸引人的優(yōu)勢(shì)。
運(yùn)行速度。MySQL的運(yùn)行速度相當(dāng)快,MySQL開發(fā)人員相信它是目前最快的數(shù)據(jù)庫(kù)系統(tǒng)。你可以在MySQL網(wǎng)站http://www.mysql.com/why-mysql/benchmarks/上的性能比較主頁(yè)上查到有關(guān)數(shù)據(jù)。
易使用。MySQL是一種簡(jiǎn)單易用的高性能數(shù)據(jù)庫(kù)系統(tǒng),與其他大型數(shù)據(jù)庫(kù)系統(tǒng)相比,MySQL的安裝和管理工作要容易得多。
查詢語(yǔ)言支持。MySQL支持SQL語(yǔ)言,SQL是各種現(xiàn)代數(shù)據(jù)庫(kù)系統(tǒng)的首選查詢語(yǔ)言。
功能豐富。MySQL是多線程的,允許多個(gè)客戶同時(shí)與服務(wù)器建立連接。每個(gè)客戶都可以同時(shí)打開并使用多個(gè)數(shù)據(jù)庫(kù)。你可以通過(guò)好幾種辦法(如命令行客戶程序、Web瀏覽器、GUI客戶程序等)對(duì)MySQL數(shù)據(jù)庫(kù)進(jìn)行交互式訪問(wèn),在輸入查詢命令后立刻看到查詢結(jié)果。此外,MySQL還準(zhǔn)備了C、Perl、Java、PHP、Python和Ruby等多種語(yǔ)言的編程接口。你還可以通過(guò)支持ODBC(Open Database Connectivity,數(shù)據(jù)庫(kù)開放連接,一種由微軟公司開發(fā)的數(shù)據(jù)庫(kù)通信協(xié)議)功能和.NET的應(yīng)用程序來(lái)訪問(wèn)MySQL數(shù)據(jù)庫(kù)。也就是說(shuō),你既可以選用現(xiàn)成的客戶程序來(lái)訪問(wèn)MySQL數(shù)據(jù)庫(kù),也可以根據(jù)具體的應(yīng)用來(lái)編寫相關(guān)軟件。
優(yōu)異的聯(lián)網(wǎng)和安防性能。MySQL是完全網(wǎng)絡(luò)化的數(shù)據(jù)庫(kù)系統(tǒng),用戶可以從因特網(wǎng)上的任意地點(diǎn)去訪問(wèn)它,因此你完全可以把你的數(shù)據(jù)拿出來(lái)與任何地方的任何人共享。同時(shí),MySQL還具備完善的訪問(wèn)控制機(jī)制,這就將那些不應(yīng)該看到你數(shù)據(jù)的人拒之門外。此外,為了提供更進(jìn)一步的安防措施,MySQL還支持使用SSL(Secure Socket Layer,安全套接字層)協(xié)議的加密連接。
可移植性。MySQL既能夠運(yùn)行在多種版本的Unix和Linux操作系統(tǒng)上,也能夠運(yùn)行在Windows和NetWare系統(tǒng)上。MySQL可以運(yùn)行在各種硬件設(shè)備上,包括高端服務(wù)器。
短小精悍。與某些數(shù)據(jù)庫(kù)系統(tǒng)巨大的硬盤空間消耗量相比,MySQL發(fā)行版本的硬盤占用量相對(duì)要小得多。
成本低廉。MySQL是一個(gè)開源項(xiàng)目,只要遵守GNU組織的GPL(General Public License)許可證條款,就可以任意使用。這意味著MySQL在大多數(shù)情況下都是免費(fèi)的。其次,如果是喜歡或需要正規(guī)安排或是不想接受GPL許可證約束的組織,還有商業(yè)許可證可供選擇。
來(lái)源廣泛。MySQL很容易獲得,只要你有Web瀏覽器,就能從許多地方下載它。如果你想知道某個(gè)組件的工作原理,對(duì)它的某個(gè)算法感到好奇,或者想進(jìn)行安全檢查,你完全可以通過(guò)源代碼來(lái)鉆研它。如果你不喜歡它的某個(gè)組件,也完全可以自行加以修改。如果你自認(rèn)為發(fā)現(xiàn)了一個(gè)bug,可以報(bào)告給相關(guān)開發(fā)人員。


































