MariaDB 被認為將取代MySQL 成為最流行的開放原始碼資料庫系統之一。
本書特色
◎內容全面、系統、深入,涵蓋MariaDB 資料庫應用與開發的所有重要知識。
◎大量的操作MySQL 資料庫的範例,並提供實例和上機實作內容供讀者演練,有很強的實用性。
◎注重實際應用,加強實戰能力。介紹Java、PHP 和C# 如何存取MariaDB,並列出一個專案案例。透過這些內容的學習,讀者可以快速提升自己的MariaDB 實戰應用能力。
◎說明由淺入深,循序漸進,適合各個層次的讀者閱讀適合:MariaDB 資料庫初學者、想全面學習MariaDB 資料庫的軟體開發人員、MariaDB 資料庫管理人員,或大專院校、教育訓練中心等相關科系的師生參考。
作者介紹
作者簡介
黃縉華
專研MySQL、Linux和Java等開放技術的研究,擔任知名Linux論壇的資料庫版的版主。長期參與電力行業專案開發,從事電力系統圖形、資料、模型一體化的研究,業餘時間喜歡撰寫與資料庫技術相關的文章和書籍。
黃縉華
專研MySQL、Linux和Java等開放技術的研究,擔任知名Linux論壇的資料庫版的版主。長期參與電力行業專案開發,從事電力系統圖形、資料、模型一體化的研究,業餘時間喜歡撰寫與資料庫技術相關的文章和書籍。
目錄
前言
第1 篇 MariaDB 資料庫基礎
Chapter 01 資料庫概述
1.1 MariaDB 基礎
1.1.1 常見的資料庫系統
1.1.2 為什麼要使用MariaDB
1.1.3 MariaDB 版本和取得
1.2 如何學習資料庫
1.2.1 多上機實作
1.2.2 多撰寫SQL 敘述
1.3 常見問題及解答
1.4 小結
1.5 本章習題
Chapter 02 在Windows 平台下安裝與設定MariaDB
2.1 安裝與設定MariaDB
2.1.1 安裝MariaDB
2.1.2 啟動MariaDB 服務
2.1.3 登入MariaDB 資料庫
2.1.4 設定Path 變數
2.2 更改MariaDB 的設定
2.3 MariaDB 常用圖形管理工具
2.4 使用免安裝的MariaDB
2.5 上機實踐
2.6 常見問題及解答2.1.1 MVC 模式概述
2.7 小結
Chapter 03 在Linux 平台下安裝與設定MariaDB
3.1 Linux 作業系統下的MariaDB 版本介紹
3.2 安裝和設定MariaDB 的RPM 套件
3.3 安裝和設定MariaDB 的DEB 套件
3.4 安裝和設定MariaDB 的二進位套件
3.5 安裝和設定MariaDB 的原始程式套件
3.6 上機實踐
3.7 常見問題及解答
3.8 小結
3.9 本章習題
第2 篇 MariaDB 資料庫基礎維護
Chapter 04 MariaDB 資料類型
4.1 MariaDB 資料類型介紹
4.1.1 整數類型
4.1.2 浮點數類型和定點數類型
4.1.3 日期與時間類型
4.1.4 字串類型
4.1.5 二進位類型
4.2 如何選擇資料類型
4.3 常見問題及解答
4.4 小結
4.5 本章習題
Chapter 05 操作資料庫
5.1 建立資料庫
5.2 刪除資料庫
5.3 資料庫儲存引擎
5.3.1 MariaDB 儲存引擎簡介
5.3.2 InnoDB 儲存引擎
5.3.3 MyISAM 儲存引擎
5.3.4 MEMORY 儲存引擎
5.3.5 儲存引擎的選擇
5.4 本章實例
5.5 上機實踐
5.6 常見問題及解答
5.7 小結
5.8 本章習題
Chapter 06 建立、修改和刪除表
6.1 建立表
6.1.1 建立表的語法形式
6.1.2 設定表的主鍵
6.1.3 設定表的外鍵
6.1.4 設定表的不可為空約束
6.1.5 設定表的唯一性約束
6.1.6 設定表的屬性值自動增加
6.1.7 設定表的屬性的預設值
6.2 檢視表結構
6.2.1 檢視表基本結構敘述DESCRIBE
6.2.2 檢視表詳細結構敘述SHOW CREATE TABLE
6.3 修改表
6.3.1 修改表名
6.3.2 修改欄位的資料類型
6.3.3 修改欄位名稱
6.3.4 增加欄位
6.3.5 刪除欄位
6.3.6 修改欄位的排列位置
6.3.7 更改表的儲存引擎
6.3.8 刪除表的外鍵約束
6.4 刪除表
6.4.1 刪除沒有被連結的普通表
6.4.2 刪除被其他表連結的父表
6.5 本章實例
6.6 上機實踐
6.7 常見問題及解答
6.8 小結
6.9 本章習題
Chapter 07 索引
7.1 索引簡介
7.1.1 索引的含義和特點
7.1.2 索引的分類
7.1.3 索引的設計原則
7.2 建立索引
7.2.1 建立表的時候建立索引
7.2.2 在已經存在的表上建立索引
7.2.3 用ALTER TABLE 敘述來建立索引
7.3 刪除索引
7.4 本章實例
7.5 上機實踐
7.6 常見問題及解答
7.7 小結
7.8 本章習題
Chapter 08 視圖
8.1 視圖簡介
8.1.1 視圖的含義
8.1.2 視圖的作用
8.2 創建視圖
8.2.1 建立視圖的語法形式
8.2.2 在單表上建立視圖
8.2.3 在多表上建立視圖
8.3 查看視圖
8.3.1 DESCRIBE 敘述檢視視圖基本資訊
8.3.2 SHOW TABLE STATUS 敘述檢視視圖基本資訊
8.3.3 SHOW CREATE VIEW 敘述檢視視圖詳細資訊
8.3.4 在views 表中檢視視圖詳細資訊
8.4 修改視圖
8.4.1 CREATE OR REPLACE VIEW 敘述修改視圖
8.4.2 ALTER 敘述修改視圖
8.5 更新視圖
8.6 刪除視圖
8.7 本章實例
8.8 上機實踐
8.9 常見問題及解答
8.10 小結
8.11 本章習題
Chapter 09 觸發器
9.1 建立觸發器
9.1.1 建立只有一個執行敘述的觸發器
9.1.2 建立有多個執行敘述的觸發器
9.2 檢視觸發器
9.2.1 SHOW TRIGGERS 敘述檢視觸發器資訊
9.2.2 在triggers 表中檢視觸發器資訊
9.3 觸發器的使用
9.4 刪除觸發器
9.5 本章實例
9.6 上機實踐
9.7 常見問題及解答
9.8 小結
9.9 本章習題
第3 篇 SQL 查詢敘述
Chapter 10 查詢資料
10.1 基本查詢敘述
10.2 單表查詢
10.2.1 查詢所有欄位
10.2.2 查詢指定欄位
10.2.3 查詢指定記錄
10.2.4 帶IN 關鍵字的查詢
10.2.5 帶BETWEEN AND 的範圍查詢
10.2.6 帶LIKE 的字元比對查詢
10.2.7 查詢空值
10.2.8 帶AND 的多條件查詢
10.2.9 帶OR 的多條件查詢
10.2.10 查詢結果不重複
10.2.11 對查詢結果排序
10.2.12 分組查詢
10.2.13 用LIMIT 限制查詢結果的數量
10.3 使用集合函數查詢
10.3.1 COUNT() 函數
10.3.2 SUM() 函數
10.3.3 AVG() 函數
10.3.4 MAX() 函數
10.3.5 MIN() 函數
10.4 連接查詢
10.4.1 內連接查詢
10.4.2 外連接查詢
10.4.3 複合條件連接查詢
10.5 子查詢
10.5.1 帶IN 關鍵字的子查詢
10.5.2 帶比較運算子的子查詢
10.5.3 帶EXISTS 關鍵字的子查詢
10.5.4 帶ANY 關鍵字的子查詢
10.5.5 帶ALL 關鍵字的子查詢
10.6 合併查詢結果
10.7 為表和欄位取別名
10.7.1 為表取別名
10.7.2 為欄位取別名
10.8 使用正規表示法查詢
10.8.1 查詢以特定字元或字串開頭的記錄
10.8.2 查詢以特定字元或字串結尾的記錄
10.8.3 用符號" . " 來替代字串中的任意一個字元
10.8.4 比對指定字元中的任意一個
10.8.5 比對指定字元以外的字元
10.8.6 比對指定字串
10.8.7 使用"*" 和"+" 來比對多個字元
10.8.8 使用{M} 或{M,N} 來指定字串連續出現的次數
10.9 本章實例
10.10 上機實踐
10.11 常見問題及解答5
10.12 小結
10.13 本章習題
Chapter 11 插入、更新與刪除資料
11.1 插入資料
11.1.1 為表的所有欄位插入資料
11.1.2 為表的指定欄位插入資料
11.1.3 同時插入多筆記錄
11.1.4 將查詢結果插入到表中
11.2 更新資料
11.3 刪除資料
11.4 本章實例
11.5 上機實踐
11.6 常見問題及解答
11.7 小結
11.8 本章習題
Chapter 12 MariaDB 運算子
12.1 運算子簡介
12.2 算術運算子
12.3 比較運算子
12.4 邏輯運算子
12.5 位元運算子
12.6 運算子的優先順序
12.7 本章實例
12.8 上機實踐
12.9 常見問題及解答
12.10 小結
12.11 本章習題
Chapter 13 MariaDB 函數
13.1 MariaDB 函數簡介
13.2 數學函數
13.2.1 絕對值函數ABS(x) 和傳回圓周率的函數PI()
13.2.2 平方根函數SQRT(x) 和求餘函數MOD(x,y)
13.2.3 取得整數的函數CEIL(x)、CEILING(x) 和FLOOR(x)
13.2.4 取得亂數的函數RAND() 和RAND(x)
13.2.5 四捨五入函數ROUND(x)、ROUND(x,y) 和TRUNCATE(x,y)
13.2.6 符號函數SIGN(x)
13.2.7 冪運算函數POW(x,y)、POWER(x,y) 和EXP(x)
13.2.8 對數運算函數LOG(x) 和LOG10(x)
13.2.9 角度與弧度相互轉換的函數RADIANS(x) 和DEGREES(x)
13.2.10 正弦函數SIN(x) 和反正弦函數ASIN(x)
13.2.11 餘弦函數COS(x) 和反餘弦函數ACOS(x)
13.2.12 正切函數、反正切函數和餘切函數
13.3 字串函數
13.3.1 計算字串字元數的函數和字串長度的函數
13.3.2 合併字串的函數CONCAT(s1,s2,⋯) 和CONCAT_WS(x,s1,s2,⋯)
13.3.3 取代字串的函數INSERT(s1,x,len,s2)
13.3.4 字母大小寫轉換函數
13.3.5 取得指定長度的字串的函數LEFT(s,n) 和RIGHT(s,n)
13.3.6 填補字元串的函數LPAD(s1,len,s2) 和RPAD(s1,len,s2)
13.3.7 刪除空格的函數LTRIM(s)、RTRIM(s) 和TRIM(s)
13.3.8 刪除指定字串的函數TRIM(s1 FROM s)
13.3.9 重複產生字串的函數REPEAT(s,n)
13.3.10 空格函數SPACE(n) 和取代函數REPLACE(s,s1,s2)
13.3.11 比較字串大小的函數STRCMP(s1,s2)
13.3.12 取得子字串的函數SUBSTRING(s,n,len) 和MID(s,n,len)
13.3.13 比對子字串開始位置的函數
13.3.14 字串反向的函數REVERSE(s)
13.3.15 傳回指定位置的字串的函數
13.3.16 傳回指定字串位置的函數FIELD(s,s1,s2,⋯)
13.3.17 傳回子字串位置的函數FIND_IN_SET(s1,s2).
13.3.18 選取字串的函數MAKE_SET(x,s1,s2,⋯)
13.4 日期和時間函數
13.4.1 取得目前日期的函數和取得目前時間的函數
13.4.2 取得目前日期和時間的函數
13.4.3 UNIX 時間戳記函數
13.4.4 傳回UTC 日期的函數和傳回UTC 時間的函數
13.4.5 取得月份的函數MONTH(d) 和MONTHNAME(d)
13.4.6 取得星期的函數DAYNAME(d)、DAYOFWEEK(d) 和
WEEKDAY(d)
13.4.7 取得星期數的函數WEEK(d) 和WEEKOFYEAR(d)
13.4.8 取得天數的函數DAYOFYEAR(d) 和DAYOFMONTH(d)
13.4.9 取得年份、季、小時、分鐘和秒鐘的函數
13.4.10 取得日期的指定值的函數EXTRACT(type FROM d)
13.4.11 時間和秒鐘轉換的函數
13.4.12 計算日期和時間的函數
13.4.13 將日期和時間格式化的函數
13.5 條件判斷函數
13.5.1 IF(expr,v1,v2) 函數
13.5.2 IFNULL(v1,v2) 函數
13.5.3 CASE 函數
13.6 系統資訊函數
13.6.1 取得MariaDB 版本編號、連接數和資料庫名稱的函數
13.6.2 取得使用者名稱的函數
13.6.3 取得字串的字元集和排序方式的函數
13.6.4 取得最後一個自動產生的ID 值的函數
13.7 加密函數
13.7.1 加密函數PASSWORD(str)
13.7.2 加密函數MD5(str)
13.7.3 加密函數ENCODE(str,pswd_str)
13.7.4 解密函數DECODE(crypt_str,pswd_str)
13.8 其他函數
13.8.1 格式化函數FORMAT(x,n)
13.8.2 不同進位的數字進行轉換的函數
13.8.3 IP 位址與數字相互轉換的函數
13.8.4 加鎖函數和解鎖函數
13.8.5 重複執行指定操作的函數
13.8.6 改變字元集的函數
13.8.7 改變欄位資料類型的函數
13.9 本章實例
13.10 上機實踐
13.11 常見問題及解答
13.12 小結
13.13 本章習題
Chapter14 預存程序和函數
14.1 建立預存程序和函數
14.1.1 建立預存程序
14.1.2 建立儲存函數
14.1.3 變數的使用
14.1.4 定義條件和處理常式
14.1.5 游標的使用
14.1.6 流程控制的使用
14.2 呼叫預存程序和函數
14.2.1 呼叫預存程序
14.2.2 呼叫儲存函數
14.3 檢視預存程序和函數
14.3.1 SHOW STATUS 敘述檢視預存程序和函數的狀態
14.3.2 SHOW CREATE 敘述檢視預存程序和函數的定義
14.3.3 從information_schema.Routines 表中檢視預存程序和函數的
資訊
14.4 修改預存程序和函數
14.5 刪除預存程序和函數
14.6 本章實例
14.7 上機實踐
14.8 常見問題及解答
14.9 小結
14.10 本章習題
第4 篇 MariaDB 資料庫進階管理
Chapter15 MariaDB 使用者管理
15.1 權限表
15.1.1 user 表
15.1.2 db 表和host 表
15.1.3 tables_priv 表和columns_priv 表
15.1.4 procs_priv 表
15.2 帳戶管理
15.2.1 新增普通使用者
15.2.2 刪除普通使用者
15.2.3 root 使用者修改自己的密碼
15.2.4 root 使用者修改普通使用者密碼
15.2.5 普通使用者修改密碼
15.3 權限管理
15.3.1 MariaDB 的各種許可權
15.3.2 授權
15.3.3 收回許可權
15.3.4 檢視許可權
15.4 本章實例
15.5 上機實踐
15.6 常見問題及解答
15.7 小結
15.8 本章習題
Chapter16 資料備份與還原
16.1 資料備份
16.1.1 使用mysqldump 指令備份
16.1.2 直接複製整個資料庫目錄
16.1.3 使用mysqlhotcopy 工具快速備份
16.2 資料還原
16.2.1 使用mysql 指令還原
16.2.2 直接複製到資料庫目錄
16.3 資料庫移轉
16.3.1 相同版本的MariaDB 資料庫之間的移轉
16.3.2 不同版本的MariaDB 資料庫之間的移轉
16.3.3 Windows 作業系統下的MySQL 向MariaDB 的移轉
16.3.4 Linux 作業系統下的MySQL 向MariaDB 的移轉
16.4 表的匯出和匯入
16.4.1 用SELECT⋯INTO OUTFILE 匯出文字檔
16.4.2 用mysqldump 指令匯出文字檔
16.4.3 用mysql 指令匯出文字檔
16.4.4 用LOAD DATA INFILE 方式匯入文字檔
16.4.5 用mysqlimport 指令匯入文字檔
16.5 本章實例
16.6 上機實踐
16.7 常見問題及解答
16.8 小結
16.9 本章習題
Chapter17 MariaDB 記錄檔
17.1 記錄檔簡介
17.2 二進位記錄檔
17.2.1 啟動和設定二進位記錄檔
17.2.2 檢視二進位記錄檔
17.2.3 刪除二進位記錄檔
17.2.4 使用二進位記錄檔還原資料庫
17.2.5 暫時停止二進位記錄檔功能
17.3 錯誤記錄檔
17.3.1 啟動和設定錯誤記錄檔
17.3.2 檢視錯誤記錄檔
17.3.3 刪除錯誤記錄檔
17.4 通用查詢記錄檔
17.4.1 啟動和設定通用查詢記錄檔
17.4.2 檢視通用查詢記錄檔
17.4.3 刪除通用查詢記錄檔
17.5 慢查詢記錄檔
17.5.1 啟動和設定慢查詢記錄檔
17.5.2 檢視慢查詢記錄檔
17.5.3 刪除慢查詢記錄檔
17.6 本章實例
17.7 上機實踐
17.8 常見問題及解答
17.9 小結
17.10 本章習題
Chapter18 性能優化
18.1 優化簡介
18.2 優化查詢
18.2.1 分析查詢敘述
18.2.2 索引對查詢速度的影響
18.2.3 使用索引查詢
18.2.4 最佳化子查詢
18.3 最佳化資料庫結構
18.3.1 將欄位很多的表分解成多個表
18.3.2 增加中間表
18.3.3 增加容錯欄位
18.3.4 最佳化插入記錄的速度
18.3.5 分析表、檢查表和最佳化表
18.4 最佳化MariaDB 伺服器
18.4.1 最佳化伺服器硬體
18.4.2 最佳化MariaDB 的參數
18.5 本章實例
18.6 上機實踐
18.7 常見問題及解答
18.8 小結
18.9 本章習題
第5 篇 MariaDB 應用與實戰開發
Chapter19 Java 存取MariaDB 資料庫
19.1 Java 連接MariaDB 資料庫
19.1.1 下載JDBC 驅動MariaDB Connector
19.1.2 安裝MariaDB Connector 驅動
19.1.3 連接MariaDB 資料庫
19.2 Java 操作MariaDB 資料庫
19.2.1 建立Statement 物件
19.2.2 使用SELECT 敘述查詢資料
19.2.3 插入、更新或刪除資料
19.2.4 執行任意SQL 敘述
19.2.5 關閉建立的物件
19.3 Java 備份與還原MariaDB 資料庫
19.3.1 Java 備份MariaDB 資料庫
19.3.2 Java 還原MariaDB 資料庫
19.4 本章實例
19.5 上機實踐
19.6 常見問題及解答
19.7 小結
19.8 本章習題
Chapter20 PHP 存取MariaDB 資料庫
20.1 PHP 連接MariaDB 資料庫
20.1.1 Windows 作業系統下設定PHP
20.1.2 Linux 作業系統下設定PHP
20.1.3 連接MariaDB 資料庫
20.2 PHP 操作MariaDB 資料庫
20.2.1 執行SQL 敘述
20.2.2 處理查詢結果
20.2.3 取得查詢結果的欄位名稱
20.2.4 一次執行多個SQL 敘述
20.2.5 處理帶參數的SQL 敘述
20.2.6 關閉建立的物件
20.3 PHP 備份與還原MariaDB 資料庫
20.3.1 PHP 備份MariaDB 資料庫
20.3.2 PHP 還原MariaDB 資料庫
20.4 本章實例
20.5 上機實踐
20.6 常見問題及解答
20.7 小結
20.8 本章習題
Chapter21 C# 存取MariaDB 資料庫
21.1 C# 連接MariaDB 資料庫
21.1.1 下載Connector/Net 驅動程式
21.1.2 安裝Connector/Net 驅動程式
21.1.3 使用Connector/Net 驅動程式
21.1.4 連接MariaDB 資料庫
21.2 C# 操作MariaDB 資料庫
21.2.1 建立MySqlCommand 物件
21.2.2 插入、更新或刪除資料
21.2.3 使用SELECT 敘述查詢資料
21.2.4 一次執行多個SELECT 敘述
21.2.5 處理SELECT 敘述只傳回一個值的情況
21.2.6 處理帶有參數的SQL 敘述
21.2.7 使用DataSet 物件和DataTable 物件
21.2.8 關閉建立的物件
21.3 C# 備份與還原MariaDB 資料庫
21.3.1 C# 備份MariaDB 資料庫
21.3.2 C# 還原MariaDB 資料庫
21.4 本章實例
21.5 上機實踐
21.6 常見問題及解答
21.7 小結
21.8 本章習題
Chapter22 駕訓班學員管理系統
22.1 系統概述
22.2 系統功能
22.3 資料庫設計
22.3.1 設計表
22.3.2 設計索引
22.3.3 設計檢視
22.3.4 設計觸發器
22.4 系統實現
22.4.1 建構工程
22.4.2 存取和操作MariaDB 資料庫的程式
22.5 使用者管理模組
22.5.2 修改密碼
22.6 學籍管理模組
22.6.1 增加學員的學籍資訊
22.6.2 查詢學員的學籍資訊
22.6.3 修改學員的學籍資訊
22.6.4 刪除學員的學籍資訊
22.7 體檢管理模組
22.8 成績管理模組
22.9 憑證管理模組
22.10 小結
第1 篇 MariaDB 資料庫基礎
Chapter 01 資料庫概述
1.1 MariaDB 基礎
1.1.1 常見的資料庫系統
1.1.2 為什麼要使用MariaDB
1.1.3 MariaDB 版本和取得
1.2 如何學習資料庫
1.2.1 多上機實作
1.2.2 多撰寫SQL 敘述
1.3 常見問題及解答
1.4 小結
1.5 本章習題
Chapter 02 在Windows 平台下安裝與設定MariaDB
2.1 安裝與設定MariaDB
2.1.1 安裝MariaDB
2.1.2 啟動MariaDB 服務
2.1.3 登入MariaDB 資料庫
2.1.4 設定Path 變數
2.2 更改MariaDB 的設定
2.3 MariaDB 常用圖形管理工具
2.4 使用免安裝的MariaDB
2.5 上機實踐
2.6 常見問題及解答2.1.1 MVC 模式概述
2.7 小結
Chapter 03 在Linux 平台下安裝與設定MariaDB
3.1 Linux 作業系統下的MariaDB 版本介紹
3.2 安裝和設定MariaDB 的RPM 套件
3.3 安裝和設定MariaDB 的DEB 套件
3.4 安裝和設定MariaDB 的二進位套件
3.5 安裝和設定MariaDB 的原始程式套件
3.6 上機實踐
3.7 常見問題及解答
3.8 小結
3.9 本章習題
第2 篇 MariaDB 資料庫基礎維護
Chapter 04 MariaDB 資料類型
4.1 MariaDB 資料類型介紹
4.1.1 整數類型
4.1.2 浮點數類型和定點數類型
4.1.3 日期與時間類型
4.1.4 字串類型
4.1.5 二進位類型
4.2 如何選擇資料類型
4.3 常見問題及解答
4.4 小結
4.5 本章習題
Chapter 05 操作資料庫
5.1 建立資料庫
5.2 刪除資料庫
5.3 資料庫儲存引擎
5.3.1 MariaDB 儲存引擎簡介
5.3.2 InnoDB 儲存引擎
5.3.3 MyISAM 儲存引擎
5.3.4 MEMORY 儲存引擎
5.3.5 儲存引擎的選擇
5.4 本章實例
5.5 上機實踐
5.6 常見問題及解答
5.7 小結
5.8 本章習題
Chapter 06 建立、修改和刪除表
6.1 建立表
6.1.1 建立表的語法形式
6.1.2 設定表的主鍵
6.1.3 設定表的外鍵
6.1.4 設定表的不可為空約束
6.1.5 設定表的唯一性約束
6.1.6 設定表的屬性值自動增加
6.1.7 設定表的屬性的預設值
6.2 檢視表結構
6.2.1 檢視表基本結構敘述DESCRIBE
6.2.2 檢視表詳細結構敘述SHOW CREATE TABLE
6.3 修改表
6.3.1 修改表名
6.3.2 修改欄位的資料類型
6.3.3 修改欄位名稱
6.3.4 增加欄位
6.3.5 刪除欄位
6.3.6 修改欄位的排列位置
6.3.7 更改表的儲存引擎
6.3.8 刪除表的外鍵約束
6.4 刪除表
6.4.1 刪除沒有被連結的普通表
6.4.2 刪除被其他表連結的父表
6.5 本章實例
6.6 上機實踐
6.7 常見問題及解答
6.8 小結
6.9 本章習題
Chapter 07 索引
7.1 索引簡介
7.1.1 索引的含義和特點
7.1.2 索引的分類
7.1.3 索引的設計原則
7.2 建立索引
7.2.1 建立表的時候建立索引
7.2.2 在已經存在的表上建立索引
7.2.3 用ALTER TABLE 敘述來建立索引
7.3 刪除索引
7.4 本章實例
7.5 上機實踐
7.6 常見問題及解答
7.7 小結
7.8 本章習題
Chapter 08 視圖
8.1 視圖簡介
8.1.1 視圖的含義
8.1.2 視圖的作用
8.2 創建視圖
8.2.1 建立視圖的語法形式
8.2.2 在單表上建立視圖
8.2.3 在多表上建立視圖
8.3 查看視圖
8.3.1 DESCRIBE 敘述檢視視圖基本資訊
8.3.2 SHOW TABLE STATUS 敘述檢視視圖基本資訊
8.3.3 SHOW CREATE VIEW 敘述檢視視圖詳細資訊
8.3.4 在views 表中檢視視圖詳細資訊
8.4 修改視圖
8.4.1 CREATE OR REPLACE VIEW 敘述修改視圖
8.4.2 ALTER 敘述修改視圖
8.5 更新視圖
8.6 刪除視圖
8.7 本章實例
8.8 上機實踐
8.9 常見問題及解答
8.10 小結
8.11 本章習題
Chapter 09 觸發器
9.1 建立觸發器
9.1.1 建立只有一個執行敘述的觸發器
9.1.2 建立有多個執行敘述的觸發器
9.2 檢視觸發器
9.2.1 SHOW TRIGGERS 敘述檢視觸發器資訊
9.2.2 在triggers 表中檢視觸發器資訊
9.3 觸發器的使用
9.4 刪除觸發器
9.5 本章實例
9.6 上機實踐
9.7 常見問題及解答
9.8 小結
9.9 本章習題
第3 篇 SQL 查詢敘述
Chapter 10 查詢資料
10.1 基本查詢敘述
10.2 單表查詢
10.2.1 查詢所有欄位
10.2.2 查詢指定欄位
10.2.3 查詢指定記錄
10.2.4 帶IN 關鍵字的查詢
10.2.5 帶BETWEEN AND 的範圍查詢
10.2.6 帶LIKE 的字元比對查詢
10.2.7 查詢空值
10.2.8 帶AND 的多條件查詢
10.2.9 帶OR 的多條件查詢
10.2.10 查詢結果不重複
10.2.11 對查詢結果排序
10.2.12 分組查詢
10.2.13 用LIMIT 限制查詢結果的數量
10.3 使用集合函數查詢
10.3.1 COUNT() 函數
10.3.2 SUM() 函數
10.3.3 AVG() 函數
10.3.4 MAX() 函數
10.3.5 MIN() 函數
10.4 連接查詢
10.4.1 內連接查詢
10.4.2 外連接查詢
10.4.3 複合條件連接查詢
10.5 子查詢
10.5.1 帶IN 關鍵字的子查詢
10.5.2 帶比較運算子的子查詢
10.5.3 帶EXISTS 關鍵字的子查詢
10.5.4 帶ANY 關鍵字的子查詢
10.5.5 帶ALL 關鍵字的子查詢
10.6 合併查詢結果
10.7 為表和欄位取別名
10.7.1 為表取別名
10.7.2 為欄位取別名
10.8 使用正規表示法查詢
10.8.1 查詢以特定字元或字串開頭的記錄
10.8.2 查詢以特定字元或字串結尾的記錄
10.8.3 用符號" . " 來替代字串中的任意一個字元
10.8.4 比對指定字元中的任意一個
10.8.5 比對指定字元以外的字元
10.8.6 比對指定字串
10.8.7 使用"*" 和"+" 來比對多個字元
10.8.8 使用{M} 或{M,N} 來指定字串連續出現的次數
10.9 本章實例
10.10 上機實踐
10.11 常見問題及解答5
10.12 小結
10.13 本章習題
Chapter 11 插入、更新與刪除資料
11.1 插入資料
11.1.1 為表的所有欄位插入資料
11.1.2 為表的指定欄位插入資料
11.1.3 同時插入多筆記錄
11.1.4 將查詢結果插入到表中
11.2 更新資料
11.3 刪除資料
11.4 本章實例
11.5 上機實踐
11.6 常見問題及解答
11.7 小結
11.8 本章習題
Chapter 12 MariaDB 運算子
12.1 運算子簡介
12.2 算術運算子
12.3 比較運算子
12.4 邏輯運算子
12.5 位元運算子
12.6 運算子的優先順序
12.7 本章實例
12.8 上機實踐
12.9 常見問題及解答
12.10 小結
12.11 本章習題
Chapter 13 MariaDB 函數
13.1 MariaDB 函數簡介
13.2 數學函數
13.2.1 絕對值函數ABS(x) 和傳回圓周率的函數PI()
13.2.2 平方根函數SQRT(x) 和求餘函數MOD(x,y)
13.2.3 取得整數的函數CEIL(x)、CEILING(x) 和FLOOR(x)
13.2.4 取得亂數的函數RAND() 和RAND(x)
13.2.5 四捨五入函數ROUND(x)、ROUND(x,y) 和TRUNCATE(x,y)
13.2.6 符號函數SIGN(x)
13.2.7 冪運算函數POW(x,y)、POWER(x,y) 和EXP(x)
13.2.8 對數運算函數LOG(x) 和LOG10(x)
13.2.9 角度與弧度相互轉換的函數RADIANS(x) 和DEGREES(x)
13.2.10 正弦函數SIN(x) 和反正弦函數ASIN(x)
13.2.11 餘弦函數COS(x) 和反餘弦函數ACOS(x)
13.2.12 正切函數、反正切函數和餘切函數
13.3 字串函數
13.3.1 計算字串字元數的函數和字串長度的函數
13.3.2 合併字串的函數CONCAT(s1,s2,⋯) 和CONCAT_WS(x,s1,s2,⋯)
13.3.3 取代字串的函數INSERT(s1,x,len,s2)
13.3.4 字母大小寫轉換函數
13.3.5 取得指定長度的字串的函數LEFT(s,n) 和RIGHT(s,n)
13.3.6 填補字元串的函數LPAD(s1,len,s2) 和RPAD(s1,len,s2)
13.3.7 刪除空格的函數LTRIM(s)、RTRIM(s) 和TRIM(s)
13.3.8 刪除指定字串的函數TRIM(s1 FROM s)
13.3.9 重複產生字串的函數REPEAT(s,n)
13.3.10 空格函數SPACE(n) 和取代函數REPLACE(s,s1,s2)
13.3.11 比較字串大小的函數STRCMP(s1,s2)
13.3.12 取得子字串的函數SUBSTRING(s,n,len) 和MID(s,n,len)
13.3.13 比對子字串開始位置的函數
13.3.14 字串反向的函數REVERSE(s)
13.3.15 傳回指定位置的字串的函數
13.3.16 傳回指定字串位置的函數FIELD(s,s1,s2,⋯)
13.3.17 傳回子字串位置的函數FIND_IN_SET(s1,s2).
13.3.18 選取字串的函數MAKE_SET(x,s1,s2,⋯)
13.4 日期和時間函數
13.4.1 取得目前日期的函數和取得目前時間的函數
13.4.2 取得目前日期和時間的函數
13.4.3 UNIX 時間戳記函數
13.4.4 傳回UTC 日期的函數和傳回UTC 時間的函數
13.4.5 取得月份的函數MONTH(d) 和MONTHNAME(d)
13.4.6 取得星期的函數DAYNAME(d)、DAYOFWEEK(d) 和
WEEKDAY(d)
13.4.7 取得星期數的函數WEEK(d) 和WEEKOFYEAR(d)
13.4.8 取得天數的函數DAYOFYEAR(d) 和DAYOFMONTH(d)
13.4.9 取得年份、季、小時、分鐘和秒鐘的函數
13.4.10 取得日期的指定值的函數EXTRACT(type FROM d)
13.4.11 時間和秒鐘轉換的函數
13.4.12 計算日期和時間的函數
13.4.13 將日期和時間格式化的函數
13.5 條件判斷函數
13.5.1 IF(expr,v1,v2) 函數
13.5.2 IFNULL(v1,v2) 函數
13.5.3 CASE 函數
13.6 系統資訊函數
13.6.1 取得MariaDB 版本編號、連接數和資料庫名稱的函數
13.6.2 取得使用者名稱的函數
13.6.3 取得字串的字元集和排序方式的函數
13.6.4 取得最後一個自動產生的ID 值的函數
13.7 加密函數
13.7.1 加密函數PASSWORD(str)
13.7.2 加密函數MD5(str)
13.7.3 加密函數ENCODE(str,pswd_str)
13.7.4 解密函數DECODE(crypt_str,pswd_str)
13.8 其他函數
13.8.1 格式化函數FORMAT(x,n)
13.8.2 不同進位的數字進行轉換的函數
13.8.3 IP 位址與數字相互轉換的函數
13.8.4 加鎖函數和解鎖函數
13.8.5 重複執行指定操作的函數
13.8.6 改變字元集的函數
13.8.7 改變欄位資料類型的函數
13.9 本章實例
13.10 上機實踐
13.11 常見問題及解答
13.12 小結
13.13 本章習題
Chapter14 預存程序和函數
14.1 建立預存程序和函數
14.1.1 建立預存程序
14.1.2 建立儲存函數
14.1.3 變數的使用
14.1.4 定義條件和處理常式
14.1.5 游標的使用
14.1.6 流程控制的使用
14.2 呼叫預存程序和函數
14.2.1 呼叫預存程序
14.2.2 呼叫儲存函數
14.3 檢視預存程序和函數
14.3.1 SHOW STATUS 敘述檢視預存程序和函數的狀態
14.3.2 SHOW CREATE 敘述檢視預存程序和函數的定義
14.3.3 從information_schema.Routines 表中檢視預存程序和函數的
資訊
14.4 修改預存程序和函數
14.5 刪除預存程序和函數
14.6 本章實例
14.7 上機實踐
14.8 常見問題及解答
14.9 小結
14.10 本章習題
第4 篇 MariaDB 資料庫進階管理
Chapter15 MariaDB 使用者管理
15.1 權限表
15.1.1 user 表
15.1.2 db 表和host 表
15.1.3 tables_priv 表和columns_priv 表
15.1.4 procs_priv 表
15.2 帳戶管理
15.2.1 新增普通使用者
15.2.2 刪除普通使用者
15.2.3 root 使用者修改自己的密碼
15.2.4 root 使用者修改普通使用者密碼
15.2.5 普通使用者修改密碼
15.3 權限管理
15.3.1 MariaDB 的各種許可權
15.3.2 授權
15.3.3 收回許可權
15.3.4 檢視許可權
15.4 本章實例
15.5 上機實踐
15.6 常見問題及解答
15.7 小結
15.8 本章習題
Chapter16 資料備份與還原
16.1 資料備份
16.1.1 使用mysqldump 指令備份
16.1.2 直接複製整個資料庫目錄
16.1.3 使用mysqlhotcopy 工具快速備份
16.2 資料還原
16.2.1 使用mysql 指令還原
16.2.2 直接複製到資料庫目錄
16.3 資料庫移轉
16.3.1 相同版本的MariaDB 資料庫之間的移轉
16.3.2 不同版本的MariaDB 資料庫之間的移轉
16.3.3 Windows 作業系統下的MySQL 向MariaDB 的移轉
16.3.4 Linux 作業系統下的MySQL 向MariaDB 的移轉
16.4 表的匯出和匯入
16.4.1 用SELECT⋯INTO OUTFILE 匯出文字檔
16.4.2 用mysqldump 指令匯出文字檔
16.4.3 用mysql 指令匯出文字檔
16.4.4 用LOAD DATA INFILE 方式匯入文字檔
16.4.5 用mysqlimport 指令匯入文字檔
16.5 本章實例
16.6 上機實踐
16.7 常見問題及解答
16.8 小結
16.9 本章習題
Chapter17 MariaDB 記錄檔
17.1 記錄檔簡介
17.2 二進位記錄檔
17.2.1 啟動和設定二進位記錄檔
17.2.2 檢視二進位記錄檔
17.2.3 刪除二進位記錄檔
17.2.4 使用二進位記錄檔還原資料庫
17.2.5 暫時停止二進位記錄檔功能
17.3 錯誤記錄檔
17.3.1 啟動和設定錯誤記錄檔
17.3.2 檢視錯誤記錄檔
17.3.3 刪除錯誤記錄檔
17.4 通用查詢記錄檔
17.4.1 啟動和設定通用查詢記錄檔
17.4.2 檢視通用查詢記錄檔
17.4.3 刪除通用查詢記錄檔
17.5 慢查詢記錄檔
17.5.1 啟動和設定慢查詢記錄檔
17.5.2 檢視慢查詢記錄檔
17.5.3 刪除慢查詢記錄檔
17.6 本章實例
17.7 上機實踐
17.8 常見問題及解答
17.9 小結
17.10 本章習題
Chapter18 性能優化
18.1 優化簡介
18.2 優化查詢
18.2.1 分析查詢敘述
18.2.2 索引對查詢速度的影響
18.2.3 使用索引查詢
18.2.4 最佳化子查詢
18.3 最佳化資料庫結構
18.3.1 將欄位很多的表分解成多個表
18.3.2 增加中間表
18.3.3 增加容錯欄位
18.3.4 最佳化插入記錄的速度
18.3.5 分析表、檢查表和最佳化表
18.4 最佳化MariaDB 伺服器
18.4.1 最佳化伺服器硬體
18.4.2 最佳化MariaDB 的參數
18.5 本章實例
18.6 上機實踐
18.7 常見問題及解答
18.8 小結
18.9 本章習題
第5 篇 MariaDB 應用與實戰開發
Chapter19 Java 存取MariaDB 資料庫
19.1 Java 連接MariaDB 資料庫
19.1.1 下載JDBC 驅動MariaDB Connector
19.1.2 安裝MariaDB Connector 驅動
19.1.3 連接MariaDB 資料庫
19.2 Java 操作MariaDB 資料庫
19.2.1 建立Statement 物件
19.2.2 使用SELECT 敘述查詢資料
19.2.3 插入、更新或刪除資料
19.2.4 執行任意SQL 敘述
19.2.5 關閉建立的物件
19.3 Java 備份與還原MariaDB 資料庫
19.3.1 Java 備份MariaDB 資料庫
19.3.2 Java 還原MariaDB 資料庫
19.4 本章實例
19.5 上機實踐
19.6 常見問題及解答
19.7 小結
19.8 本章習題
Chapter20 PHP 存取MariaDB 資料庫
20.1 PHP 連接MariaDB 資料庫
20.1.1 Windows 作業系統下設定PHP
20.1.2 Linux 作業系統下設定PHP
20.1.3 連接MariaDB 資料庫
20.2 PHP 操作MariaDB 資料庫
20.2.1 執行SQL 敘述
20.2.2 處理查詢結果
20.2.3 取得查詢結果的欄位名稱
20.2.4 一次執行多個SQL 敘述
20.2.5 處理帶參數的SQL 敘述
20.2.6 關閉建立的物件
20.3 PHP 備份與還原MariaDB 資料庫
20.3.1 PHP 備份MariaDB 資料庫
20.3.2 PHP 還原MariaDB 資料庫
20.4 本章實例
20.5 上機實踐
20.6 常見問題及解答
20.7 小結
20.8 本章習題
Chapter21 C# 存取MariaDB 資料庫
21.1 C# 連接MariaDB 資料庫
21.1.1 下載Connector/Net 驅動程式
21.1.2 安裝Connector/Net 驅動程式
21.1.3 使用Connector/Net 驅動程式
21.1.4 連接MariaDB 資料庫
21.2 C# 操作MariaDB 資料庫
21.2.1 建立MySqlCommand 物件
21.2.2 插入、更新或刪除資料
21.2.3 使用SELECT 敘述查詢資料
21.2.4 一次執行多個SELECT 敘述
21.2.5 處理SELECT 敘述只傳回一個值的情況
21.2.6 處理帶有參數的SQL 敘述
21.2.7 使用DataSet 物件和DataTable 物件
21.2.8 關閉建立的物件
21.3 C# 備份與還原MariaDB 資料庫
21.3.1 C# 備份MariaDB 資料庫
21.3.2 C# 還原MariaDB 資料庫
21.4 本章實例
21.5 上機實踐
21.6 常見問題及解答
21.7 小結
21.8 本章習題
Chapter22 駕訓班學員管理系統
22.1 系統概述
22.2 系統功能
22.3 資料庫設計
22.3.1 設計表
22.3.2 設計索引
22.3.3 設計檢視
22.3.4 設計觸發器
22.4 系統實現
22.4.1 建構工程
22.4.2 存取和操作MariaDB 資料庫的程式
22.5 使用者管理模組
22.5.2 修改密碼
22.6 學籍管理模組
22.6.1 增加學員的學籍資訊
22.6.2 查詢學員的學籍資訊
22.6.3 修改學員的學籍資訊
22.6.4 刪除學員的學籍資訊
22.7 體檢管理模組
22.8 成績管理模組
22.9 憑證管理模組
22.10 小結
序
前言
MariaDB 是MySQL 的重要分支,而MySQL 資料庫是一款非常優秀的自由軟體。它是由瑞士的MySQL AB 公司開發的。2008 年,Sun 公司耗資10 億美金收購了MySQL 資料庫。現在MySQL 資料庫已經是世界上最流行的資料庫之一。
2010 年4 月20 日,Oracle 公司收購了Sun 公司,MySQL 資料庫又成為了Oracle公司的資料庫產品。由於種種原因,MySQL 的發展進入緩慢期。其更新越來越慢,同時出現閉源傾向,這引起開發者的各種不滿和焦慮。
2012 年12 月,MySQL 之父Monty Widenius 宣佈開創了MariaDB 資料庫系統。MariaDB 開發團隊由MySQL 原有的核心成員組成。MariaDB 積極更新,採用各種新技術,支援各種新的應用領域和場景。現在MariaDB 被認為將取代MySQL 成為最流行的開放原始碼資料庫系統之一。
各大軟體和系統廠商紛紛從MySQL 移轉到MariaDB 上。舉例來說,Fedora 從19 版本使用MariaDB 取代預設的MySQL 資料庫;而Linux 最大的伺服器版本紅帽企業版也從版本RHEL 7 開始採用MariaDB 作為預設資料庫,進一步取代MySQL。
本書非常適合沒有任何資料庫基礎的讀者學習,同時本書也適合Oracle、SQLServer 等DBA 和資料庫開發人員閱讀和參考。
本書特色
1. 內容全面、系統、深入,實用性強
本書內容全面、系統、深入,幾乎涵蓋有關MariaDB 資料庫應用與開發的所有重要知識。書中不僅有大量的操作MySQL 資料庫的範例,還提供大量的實例和上機實作內容供讀者演練,有很強的實用性。
2. 說明由淺入深,循序漸進,適合各個層次的讀者閱讀
本書從MariaDB 資料庫的基礎開始說明,逐步深入到MariaDB 資料庫的進階管理和開發,內容從易到難,說明由淺入深,循序漸進,適合各個層次的讀者閱讀,並均有所獲。
3. 貫穿大量的操作技巧,迅速提升功能
本書在說明基礎知識時貫穿了大量的典型範例,並列出了大量的使用技巧,以便讀者更進一步地了解各種概念和使用方法,體驗實際操作MariaDB 資料庫的技巧。
4. 注重實際應用,加強實戰能力
本書介紹了Java、PHP 和C# 如何存取MariaDB,並在最後列出了一個專案案例。透過這些內容的學習,讀者可以快速提升自己的MariaDB 實戰應用能力。
本書有關的原始程式碼可到本公司官網www.topteam.cc 下載。
本書內容及系統結構
第1 篇 MariaDB 資料庫基礎(第1 ~ 3 章)
本篇主要內容包含:資料庫概述、在Windows 平台下安裝與設定MariaDB、在Linux 平台下安裝與設定MariaDB。透過學習本篇的內容,讀者可以了解資料庫的基礎,清楚選擇MariaDB 資料庫的理由,了解如何取得MariaDB 資料庫,以及如何安裝MariaDB 資料庫等內容。
第2 篇 MariaDB 資料庫基礎維護(第4 ~ 9 章)
本篇主要內容包含:MariaDB 資料類型、操作資料庫、建立表、修改表、刪除表、索引、視圖、觸發器等。透過學習本篇的內容,讀者可以掌握MariaDB 資料庫的基本操作。
第3 篇 SQL 查詢敘述(第10 ~ 14 章)
本篇主要內容包含:查詢資料、插入資料、更新資料、刪除資料、MariaDB 運算子、MariaDB 函數、預存程序和函數等。透過學習本篇內容,讀者可以掌握查詢和更新資料庫中的資料、MariaDB 運算子和函數的方法,並可以掌握預存程序和函數的相關知識。
第4 篇 MariaDB 資料庫進階管理(第15 ~ 18 章)
本篇主要內容包含:MariaDB 使用者管理、資料備份與還原、MariaDB 記錄檔、效能最佳化等。透過學習本篇內容,讀者可以掌握MariaDB 資料庫進階管理方面的知識。
第5 篇 MariaDB 應用與實戰開發(第19 ~ 22 章)
本篇主要內容包含:Java 存取MariaDB 資料庫、PHP 存取MariaDB 資料庫、C# 存取MariaDB 資料庫和駕校學員管理系統的開發過程。透過學習本篇內容,讀者可以掌握MariaDB 資料庫在軟體開發中的應用,並可以進行實戰演練,加強MariaDB 實戰功力。
本書適合讀者群
◎MariaDB 資料庫初學者;
◎想全面學習MariaDB 資料庫的軟體開發人員;
◎MariaDB 資料庫管理人員;
◎MariaDB 資料庫同好;
◎大專院校的學生;
◎資訊培訓班學員。
本書作者
本書由黃縉華主筆撰寫。其他參與撰寫的人員有陳冠軍、陳浩、黃振東、蔣慶學、李代敘、李世民、李思清、李雲龍、李志剛、劉存勇、劉燕珍、龍哲、呂軼、牟春梅、屈明環、石峰、史豔豔、宋甯甯、王德亮、王俊清、王雅甯、翁盛鑫。
雖然筆者花費了大量精力寫作本書,並力圖將疏漏減少到最少,但仍恐百密一疏。如果您在閱讀本書的過程中發現有任何疏漏,或對本書的說明有任何疑問,都可以到www.wanjuanchian.net 技術論壇,交流和討論。
MariaDB 是MySQL 的重要分支,而MySQL 資料庫是一款非常優秀的自由軟體。它是由瑞士的MySQL AB 公司開發的。2008 年,Sun 公司耗資10 億美金收購了MySQL 資料庫。現在MySQL 資料庫已經是世界上最流行的資料庫之一。
2010 年4 月20 日,Oracle 公司收購了Sun 公司,MySQL 資料庫又成為了Oracle公司的資料庫產品。由於種種原因,MySQL 的發展進入緩慢期。其更新越來越慢,同時出現閉源傾向,這引起開發者的各種不滿和焦慮。
2012 年12 月,MySQL 之父Monty Widenius 宣佈開創了MariaDB 資料庫系統。MariaDB 開發團隊由MySQL 原有的核心成員組成。MariaDB 積極更新,採用各種新技術,支援各種新的應用領域和場景。現在MariaDB 被認為將取代MySQL 成為最流行的開放原始碼資料庫系統之一。
各大軟體和系統廠商紛紛從MySQL 移轉到MariaDB 上。舉例來說,Fedora 從19 版本使用MariaDB 取代預設的MySQL 資料庫;而Linux 最大的伺服器版本紅帽企業版也從版本RHEL 7 開始採用MariaDB 作為預設資料庫,進一步取代MySQL。
本書非常適合沒有任何資料庫基礎的讀者學習,同時本書也適合Oracle、SQLServer 等DBA 和資料庫開發人員閱讀和參考。
本書特色
1. 內容全面、系統、深入,實用性強
本書內容全面、系統、深入,幾乎涵蓋有關MariaDB 資料庫應用與開發的所有重要知識。書中不僅有大量的操作MySQL 資料庫的範例,還提供大量的實例和上機實作內容供讀者演練,有很強的實用性。
2. 說明由淺入深,循序漸進,適合各個層次的讀者閱讀
本書從MariaDB 資料庫的基礎開始說明,逐步深入到MariaDB 資料庫的進階管理和開發,內容從易到難,說明由淺入深,循序漸進,適合各個層次的讀者閱讀,並均有所獲。
3. 貫穿大量的操作技巧,迅速提升功能
本書在說明基礎知識時貫穿了大量的典型範例,並列出了大量的使用技巧,以便讀者更進一步地了解各種概念和使用方法,體驗實際操作MariaDB 資料庫的技巧。
4. 注重實際應用,加強實戰能力
本書介紹了Java、PHP 和C# 如何存取MariaDB,並在最後列出了一個專案案例。透過這些內容的學習,讀者可以快速提升自己的MariaDB 實戰應用能力。
本書有關的原始程式碼可到本公司官網www.topteam.cc 下載。
本書內容及系統結構
第1 篇 MariaDB 資料庫基礎(第1 ~ 3 章)
本篇主要內容包含:資料庫概述、在Windows 平台下安裝與設定MariaDB、在Linux 平台下安裝與設定MariaDB。透過學習本篇的內容,讀者可以了解資料庫的基礎,清楚選擇MariaDB 資料庫的理由,了解如何取得MariaDB 資料庫,以及如何安裝MariaDB 資料庫等內容。
第2 篇 MariaDB 資料庫基礎維護(第4 ~ 9 章)
本篇主要內容包含:MariaDB 資料類型、操作資料庫、建立表、修改表、刪除表、索引、視圖、觸發器等。透過學習本篇的內容,讀者可以掌握MariaDB 資料庫的基本操作。
第3 篇 SQL 查詢敘述(第10 ~ 14 章)
本篇主要內容包含:查詢資料、插入資料、更新資料、刪除資料、MariaDB 運算子、MariaDB 函數、預存程序和函數等。透過學習本篇內容,讀者可以掌握查詢和更新資料庫中的資料、MariaDB 運算子和函數的方法,並可以掌握預存程序和函數的相關知識。
第4 篇 MariaDB 資料庫進階管理(第15 ~ 18 章)
本篇主要內容包含:MariaDB 使用者管理、資料備份與還原、MariaDB 記錄檔、效能最佳化等。透過學習本篇內容,讀者可以掌握MariaDB 資料庫進階管理方面的知識。
第5 篇 MariaDB 應用與實戰開發(第19 ~ 22 章)
本篇主要內容包含:Java 存取MariaDB 資料庫、PHP 存取MariaDB 資料庫、C# 存取MariaDB 資料庫和駕校學員管理系統的開發過程。透過學習本篇內容,讀者可以掌握MariaDB 資料庫在軟體開發中的應用,並可以進行實戰演練,加強MariaDB 實戰功力。
本書適合讀者群
◎MariaDB 資料庫初學者;
◎想全面學習MariaDB 資料庫的軟體開發人員;
◎MariaDB 資料庫管理人員;
◎MariaDB 資料庫同好;
◎大專院校的學生;
◎資訊培訓班學員。
本書作者
本書由黃縉華主筆撰寫。其他參與撰寫的人員有陳冠軍、陳浩、黃振東、蔣慶學、李代敘、李世民、李思清、李雲龍、李志剛、劉存勇、劉燕珍、龍哲、呂軼、牟春梅、屈明環、石峰、史豔豔、宋甯甯、王德亮、王俊清、王雅甯、翁盛鑫。
雖然筆者花費了大量精力寫作本書,並力圖將疏漏減少到最少,但仍恐百密一疏。如果您在閱讀本書的過程中發現有任何疏漏,或對本書的說明有任何疑問,都可以到www.wanjuanchian.net 技術論壇,交流和討論。
網路書店
類別
折扣
價格
-
二手書46折$270
-
新書9折$531