MariaDB從零開始學(視頻教學版)

MariaDB從零開始學(視頻教學版)

《MariaDB從零開始學(視頻教學版)》是2015年10月1日清華大學出版社出版的圖書,作者是劉增傑、胡同夫。

基本介紹

  • 中文名:MariaDB從零開始學(視頻教學版)
  • 作者:劉增傑、胡同夫
  • 出版時間:2015年10月1日
  • 出版社:清華大學出版社
  • ISBN:9787302414568
  • 定價:79 元
內容簡介,圖書目錄,

內容簡介

甲骨文公司收購 MySQL後,有將 MySQL閉源的潛在風險,大型網際網路用戶以及 Linux發行商紛紛拋棄 MySQL,轉投 MariaDB陣營。MariaDB是目前最受關注的 MySQL資料庫衍生版,也被視為原來開源資料庫 MySQL的替代品。
本書主要包括 MariaDB的安裝與配置、資料庫的創建、數據表的創建、數據類型和運算符、 MariaDB函式、查詢數據、數據表的操作(插入、更新與刪除數據)、索引、存儲過程和函式、視圖、觸發器、用戶管理、數據備份與還原、日誌以及性能最佳化。最後通過兩個綜合案例的資料庫設計,進一步講述 MariaDB在實際工作中的套用。本書提供源碼、課件、教學視頻等學習材料給讀者下載。
本書適合 MariaDB資料庫初學者、MariaDB資料庫開發人員和 MariaDB資料庫管理員,同時也能作為高等院校和培訓學校相關專業師生的教學用書。

圖書目錄

第 1章初識
1.1 資料庫基礎 . 1
1.1.1 什麼是資料庫 1
1.1.2 表 .... 2
1.1.3 數據類型 2
1.1.4 主鍵 2
1.2 資料庫技術構成 . 3
1.2.1 資料庫系統 .... 3
1.2.2 SQL語言 4
1.2.3 資料庫訪問技術 .... 5
1.3 什麼是 MariaDB .5
1.3.1 客戶機-伺服器軟體....... 6
1.3.2 MariaDB的發展 .... 6
1.3.3 MariaDB的優勢 .... 7
1.4 如何學習 MariaDB ..... 7
第 2章安裝與配置
2.1 下載與安裝 MariaDB . 9
2.1.1 下載 MariaDB 9
2.1.2 安裝 MariaDB .... 10
2.2 啟動服務並登錄 MariaDB資料庫 .. 14
2.2.1 啟動 MariaDB服務 ..... 14
2.2.2 登錄 MariaDB資料庫 . 16
2.2.3 配置 PATH變數.. 19
2.3 MariaDB的圖形管理工具 ....... 21
2.4 使用免安裝的 MariaDB ... 22
2.5 疑難問題解答 ... 26
2.6 上機實踐 ... 26
第 3章資料庫的基本操作
3.1 創建資料庫 ....... 27
3.2 刪除資料庫 ....... 29
3.3 資料庫存儲引擎 ....... 29
3.3.1 MariaDB存儲引擎簡介 ...... 29
3.3.2 InnoDB存儲引擎 31
3.3.3 MyISAM存儲引擎...... 32
3.3.4 MEMORY存儲引擎 ... 32
3.3.5 存儲引擎的選擇 .. 33
3.4 綜合實例——資料庫的創建和刪除 ....... 33
3.5 疑難問題解答 ... 35
3.6 上機實踐 ... 36
第 4章數據表的基本操作
4.1 創建數據表 ....... 37
4.1.1 創建表的語法形式 ...... 37
4.1.2 使用主鍵約束 ...... 39
4.1.3 使用外鍵約束 ...... 40
4.1.4 使用非空約束 ...... 41
4.1.5 使用唯一性約束 .. 42
4.1.6 使用默認約束 ...... 43
4.1.7 設定表的屬性值自動增加 .. 43
4.2 查看數據表結構 ....... 44
4.2.1 查看錶基本結構語句 DESCRIBE...... 44
4.2.2 查看錶詳細結構語句 SHOW CREATE TABLE....... 45
4.3 修改數據表 ....... 47
4.3.1 修改表名 ...... 47
4.3.2 修改欄位的數據類型 .. 48
4.3.3 修改欄位名 .. 49
4.3.4 添加欄位 ...... 50
4.3.5 刪除欄位 ...... 53
4.3.6 修改欄位的排列位置 .. 54
4.3.7 更改表的存儲引擎 ...... 55
4.3.8 刪除表的外鍵約束 ...... 57
4.4 刪除數據表 ....... 58
4.4.1 刪除沒有被關聯的表 .. 58
4.4.2 刪除被其他表關聯的主表 .. 59
4.5 綜合實例——數據表的基本操作 ... 61
4.6 疑難問題解答 ... 70
4.7 上機實踐 ... 71
第 5章數據類型和運算符
5.1 MariaDB數據類型介紹 ... 72
5.1.1 整數類型 ...... 72
5.1.2 浮點數類型和定點數類型 .. 74
5.1.3 日期與時間類型 .. 76
5.1.4 文本字元串類型 .. 88
5.1.5 二進制字元串類型 ...... 93
5.2 如何選擇數據類型 ... 96
5.3 常見運算符介紹 ....... 98
5.3.1 運算符概述 .. 98
5.3.2 算術運算符 .. 99
5.3.3 比較運算符 100
5.3.4 邏輯運算符 109
5.3.5 位運算符 .... 113
5.3.6 運算符的優先權 116
5.4 綜合實例——運算符的使用 . 117
5.5 疑難問題解答 . 120
5.6 上機實踐 . 121
第 6章 函式
6.1 MariaDB函式簡介 . 122
6.2 數學函式 . 123
6.2.1 絕對值函式 ABS(x)和返回圓周率的函式 PI() ....... 123
6.2.2 平方根函式 SQRT(x)和求余函式 MOD(x,y) .. 123
6.2.3 獲取整數的函式 CEIL(x)、CEILING(x)和 FLOOR(x) .. 124
6.2.4 獲取隨機數的函式 RAND()和 RAND(x) 125
6.2.5 函式 ROUND(x)、ROUND(x,y)和 TRUNCATE(x,y) .... 125
6.2.6 符號函式 SIGN(x) ..... 127
6.2.7 冪運算函式 POW(x,y)、POWER(x,y)和 EXP(x).... 127
6.2.8 對數運算函式 LOG(x)和 LOG10(x) 128
6.2.9 角度與弧度相互轉換的函式 RADIANS(x)和 DEGREES(x). 128
6.2.10 正弦函式 SIN(x)和反正弦函式 ASIN(x)....... 129
6.2.11 餘弦函式 COS(x)和反餘弦函式 ACOS(x) .... 130
6.2.12 正切函式、反正切函式和餘切函式 ...... 130
6.3 字元串函式 ..... 131
6.3.1 計算字元串字元數的函式和字元串長度的函式 .... 131
6.3.2 合併字元串函式 CONCAT(s1,s2,…)、CONCAT_WS(x,s1,s2,…) 132
6.3.3 替換字元串的函式 INSERT(s1,x,len,s2) . 133
6.3.4 字母大小寫轉換函式 133
6.3.5 獲取指定長度的字元串函式 LEFT(s,n)和 RIGHT(s,n).. 134
6.3.6 填充字元串的函式 LPAD(s1,len,s2)和 RPAD(s1,len,s2) 135
6.3.7 刪除空格的函式 LTRIM(s)、RTRIM(s)和 TRIM(s) ...... 135
6.3.8 刪除指定字元串的函式 TRIM(s1 FROM s).... 136
6.3.9 重複生成字元串的函式 REPEAT(s,n)..... 137
6.3.10 空格函式 SPACE(n)和替換函式 REPLACE(s,s1,s2).... 137
6.3.11 比較字元串大小的函式 STRCMP(s1,s2)....... 138
6.3.12 獲取子串的函式 SUBSTRING(s,n,len)和 MID(s,n,len) 138
6.3.13 匹配子串開始位置的函式 ...... 139
6.3.14 字元串逆序的函式 REVERSE(s) ... 139
6.3.15 返回指定位置的字元串的函式 ...... 140
6.3.16 返回指定字元串位置的函式 FIELD(s,s1,s2,…) ... 140
6.3.17 返回子串位置的函式 FIND_IN_SET(s1,s2).. 141
6.3.18 選取字元串的函式 MAKE_SET(x,s1,s2,…) . 141
6.4 日期和時間函式 ..... 142
6.4.1 獲取當前日期的函式和獲取當前時間的函式 142
6.4.2 獲取當前日期和時間的函式 .... 142
6.4.3 UNIX時間戳函式 ..... 143
6.4.4 返回 UTC日期的函式和返回 UTC時間的函式 .... 144
6.4.5 獲取月份的函式 MONTH(date)和 MONTHNAME(date) ...... 144
6.4.6 獲取星期的函式 DAYNAME(d)、DAYOFWEEK(d)和 WEEKDAY(d)...... 145
6.4.7 獲取星期數的函式 WEEK(d)和 WEEKOFYEAR(d)...... 146
6.4.8 獲取天數的函式 DAYOFYEAR(d)和 DAYOFMONTH(d).... 147
6.4.9 獲取年份、季度、小時、分鐘和秒鐘的函式 148
6.4.10 獲取日期的指定值的函式 EXTRACT(type FROM date) ..... 149
6.4.11 時間和秒鐘轉換的函式 .. 149
6.4.12 計算日期和時間的函式 .. 150
6.4.13 將日期和時間格式化的函式 .. 153
6.5 條件判斷函式 . 157
6.5.1 IF(expr,v1,v2)函式..... 157
6.5.2 IFNULL(v1,v2)函式 .. 158
6.5.3 CASE函式. 158
6.6 系統信息函式 . 159
6.6.1 獲取 MariaDB版本號、連線數和資料庫名的函式....... 159
6.6.2 獲取用戶名的函式 .... 161
6.6.3 獲取字元串的字元集和排序方式的函式 162
6.6.4 獲取最後一個自動生成的 ID值的函式.. 162
6.7 加密函式 . 164
6.7.1 加密函式 PASSWORD(str)....... 165
6.7.2 加密函式 MD5(str) .... 165
6.7.3 加密函式 ENCODE(str,pswd_str)..... 165
6.7.4 解密函式 DECODE(crypt_str,pswd_str)... 166
6.8 其他函式 . 166
6.8.1 格式化函式 FORMAT(x,n)....... 166
6.8.2 不同進制的數字進行轉換的函式 .... 167
6.8.3 IP位址與數字相互轉換的函式 168
6.8.4 加鎖函式和解鎖函式 168
6.8.5 重複執行指定操作的函式 169
6.8.6 改變字元集的函式 .... 170
6.8.7 改變數據類型的函式 170
6.9 綜合實例——MariaDB函式的使用 ..... 171
6.10 疑難問題解答 ....... 175
6.11 上機實踐 ....... 176
第 7章查詢數據
7.1 基本查詢語句 . 177
7.2 單表查詢 . 180
7.2.1 查詢所有欄位 .... 180
7.2.2 查詢指定欄位 .... 181
7.2.3 查詢指定記錄 .... 183
7.2.4 帶 IN關鍵字的查詢.. 185
7.2.5 帶 BETWEEN AND的範圍查詢 ..... 186
7.2.6 帶 LIKE的字元匹配查詢 . 187
7.2.7 查詢空值 .... 189
7.2.8 帶 AND的多條件查詢 ..... 191
7.2.9 帶 OR的多條件查詢. 192
7.2.10 查詢結果不重複 ...... 193
7.2.11 對查詢結果排序 ...... 195
7.2.12 分組查詢 .. 199
7.2.13 使用 LIMIT限制查詢結果的數量 . 204
7.3 使用聚合函式查詢 . 205
7.3.1 COUNT()函式.... 206
7.3.2 SUM()函式. 207
7.3.3 AVG()函式. 208
7.3.4 MAX()函式 209
7.3.5 MIN()函式.. 210
7.4 連線查詢 . 211
7.4.1 內連線查詢 212
7.4.2 外連線查詢 215
7.4.3 複合條件連線查詢 .... 217
7.5 子查詢 ..... 218
7.5.1 帶 ANY、SOME關鍵字的子查詢 .. 218
7.5.2 帶 ALL關鍵字的子查詢 .. 219
7.5.3 帶 EXISTS關鍵字的子查詢..... 220
7.5.4 帶 IN關鍵字的子查詢...... 221
7.5.5 帶比較運算符的子查詢 .... 223
7.6 合併查詢結果 . 225
7.7 為表和欄位取別名 . 228
7.7.1 為表取別名 228
7.7.2 為欄位取別名 .... 229
7.8 使用正則表達式查詢 ..... 231
7.8.1 查詢以特定字元或字元串開頭的記錄 .... 232
7.8.2 查詢以特定字元或字元串結尾的記錄 .... 233
7.8.3 用符號"".""來替代字元串中的任意一個字元.... 233
7.8.4 使用""*""和""+""來匹配多個字元 . 234
7.8.5 匹配指定字元串 235
7.8.6 匹配指定字元中的任意一個 .... 236
7.8.7 匹配指定字元以外的字元 237
7.8.8 使用{n,}或者{n,m}來指定字元串連續出現的次數 ....... 237
7.9 綜合實例——數據表查詢操作 ..... 238
7.10 疑難問題解答 ....... 248
7.11 上機實踐 ....... 248
第 8章插入、更新與刪除數據
8.1 插入數據 . 250
8.1.1 為表的所有欄位插入數據 250
8.1.2 為表的指定欄位插入數據 252
8.1.3 同時插入多條記錄 .... 254
8.1.4 將查詢結果插入到表中 .... 256
8.2 更新數據 . 258
8.3 刪除數據 . 260
8.4 綜合實例——記錄的插入、更新和刪除 ..... 262
8.5 疑難問題解答 . 267
8.6 上機實踐 . 267
第 9章索引
9.1 索引簡介 . 269
9.1.1 索引的含義和特點 .... 269
9.1.2 索引的分類 270
9.1.3 索引的設計原則 271
9.2 創建索引 . 271
9.2.1 創建表的時候創建索引 .... 271
9.2.2 在已經存在的表上創建索引 .... 278
9.3 刪除索引 . 285
9.4 綜合實例——創建索引 . 287
9.5 疑難問題解答 . 290
9.6 上機實踐 . 291
第 10章存儲過程和函式
10.1 創建存儲過程和函式 ... 292
10.1.1 創建存儲過程 .. 292
10.1.2 創建存儲函式 .. 295
10.1.3 變數的使用 ...... 296
10.1.4 定義條件和處理程式 ...... 297
10.1.5 游標的使用 ...... 300
10.1.6 流程控制的使用 ...... 302
10.2 調用存儲過程和函式 ... 306
10.2.1 調用存儲過程 .. 306
10.2.2 調用存儲函式 .. 307
10.3 查看存儲過程和函式 ... 308
10.3.1 SHOW STATUS語句查看存儲過程和函式的狀態 ..... 308
10.3.2 SHOW CREATE語句查看存儲過程和函式的定義..... 309
10.3.3 從 information_schema.Routines表中查看存儲過程和函式的信息.... 309
10.4 修改存儲過程和函式 ... 311
10.5 刪除存儲過程和函式 ... 313
10.6 綜合實例——創建存儲過程和函式 ... 314
10.7 疑難問題解答 ....... 317
10.8 上機實踐 ....... 318
第 11章視圖
11.1 視圖概述 ....... 319
11.1.1 視圖的含義 ...... 319
11.1.2 視圖的作用 ...... 320
11.2 創建視圖 ....... 321
11.2.1 創建視圖的語法形式 ...... 321
11.2.2 在單表上創建視圖 .. 321
11.2.3 在多表上創建視圖 .. 323
11.3 查看視圖 ....... 324
11.3.1 使用 DESCRIBE語句查看視圖基本信息..... 324
11.3.2 使用 SHOW TABLE STATUS語句查看視圖基本信息 ...... 325
11.3.3 使用 SHOW CREATE VIEW語句查看視圖詳細信息 326
11.3.4 在 views表中查看視圖詳細信息... 327
11.4 修改視圖 ....... 328
11.4.1 CREATE OR REPLACE VIEW語句修改視圖..... 328
11.4.2 ALTER語句修改視圖 .... 329
11.5 更新視圖 ....... 330
11.6 刪除視圖 ....... 333
11.7 綜合實例——視圖套用 ....... 334
11.8 疑難問題解答 ....... 343
11.9 上機實踐 ....... 344
第 12章 觸發器
12.1 創建觸發器 ... 345
12.1.1 創建只有一個執行語句的觸發器 .. 345
12.1.2 創建有多個執行語句的觸發器 ...... 347
12.2 查看觸發器 ... 349
12.2.1 SHOW TRIGGERS語句查看觸發器信息..... 350
12.2.2 在 triggers表中查看觸發器信息.... 352
12.3 觸發器的使用 ....... 353
12.4 刪除觸發器 ... 354
12.5 綜合實例——觸發器的使用 ....... 354
12.6 疑難問題解答 ....... 357
12.7 上機實踐 ....... 357
第 13章 用戶管理
13.1 許可權表 ....... 358
13.1.1 user表....... 358
13.1.2 db表和 host表 361
13.1.3 tables_priv表和 columns_priv表 ... 363
13.1.4 procs_priv表 .... 364
13.2 賬戶管理 ....... 365
13.2.1 登錄和退出 MariaDB伺服器 . 365
13.2.2 新建普通用戶 .. 366
13.2.3 刪除普通用戶 .. 371
13.2.4 root用戶修改自己的密碼....... 372
13.2.5 root用戶修改普通用戶密碼... 373
13.2.6 普通用戶修改密碼 .. 375
13.2.7 root用戶密碼丟失的解決辦法....... 375
13.3 許可權管理 ....... 377
13.3.1 MariaDB的各種許可權 ...... 377
13.3.2 授權 .. 379
13.3.3 收回許可權 .. 381
13.3.4 查看許可權 .. 382
13.4 訪問控制 ....... 383
13.4.1 連線核實階段 .. 384
13.4.2 請求核實階段 .. 384
13.5 綜合實例——綜合管理用戶許可權 ....... 385
13.6 疑難問題解答 ....... 389
13.7 上機實踐 ....... 389
第 14章數據備份與還原
14.1 數據備份 ....... 391
14.1.1 使用 mysqldump命令備份 ..... 391
14.1.2 直接複製整個資料庫 ...... 398
14.1.3 使用 mysqlhotcopy工具快速備份 . 399
14.2 數據還原 ....... 399
14.2.1 使用 MySQL命令還原 ... 399
14.2.2 直接複製到資料庫 .. 400
14.2.3 mysqlhotcopy快速恢復 .. 400
14.3 資料庫遷移 ... 401
14.3.1 相同版本的 MariaDB資料庫之間的遷移 ..... 401
14.3.2 不同版本的 MariaDB資料庫之間的遷移 ..... 402
14.3.3 不同資料庫之間的遷移 .. 402
14.4 表的導出和導入 ... 402
14.4.1 使用 SELECT…INTO OUTFILE導出文本檔案 .. 403
14.4.2 使用 mysqldump命令導出文本檔案 ..... 406
14.4.3 使用 MySQl命令導出文本檔案 .... 408
14.4.4 使用 LOAD DATA INFILE方式導入文本檔案 ... 412
14.4.5 使用 mysqlimport命令導入文本檔案.... 414
14.5 綜合實例——數據的備份與還原 ....... 416
14.6 疑難問題解答 ....... 421
14.7 上機實踐 ....... 422
第 15章 日誌
15.1 日誌簡介 ....... 423
15.2 二進制日誌 ... 424
15.2.1 啟動和設定二進制日誌 .. 424
15.2.2 查看二進制日誌 ...... 425
15.2.3 刪除二進制日誌 ...... 427
15.2.4 使用二進制日誌還原資料庫 .. 429
15.2.5 暫時停止二進制日誌功能 ...... 430
15.3 錯誤日誌 ....... 430
15.3.1 啟動和設定錯誤日誌 ...... 431
15.3.2 查看錯誤日誌 .. 431
15.3.3 刪除和重建錯誤日誌 ...... 432
15.4 通用查詢日誌 ....... 432
15.4.1 啟動和設定通用查詢日誌 ...... 433
15.4.2 查看通用查詢日誌 .. 433
15.4.3 刪除和重建通用查詢日誌 ...... 433
15.5 慢查詢日誌 ... 434
15.5.1 啟動和設定慢查詢日誌 .. 434
15.5.2 查看慢查詢日誌 ...... 435
15.5.3 刪除和重建慢查詢日誌 .. 435
15.6 綜合實例——MariaDB日誌的綜合管理 ... 436
15.7 疑難問題解答 ....... 442
15.8 上機實踐 ....... 443
第 16章性能最佳化
16.1 最佳化簡介 ....... 444
16.2 最佳化查詢 ....... 445
16.2.1 分析查詢語句 .. 445
16.2.2 索引對查詢速度的影響 .. 449
16.2.3 使用索引查詢 .. 450
16.2.4 最佳化子查詢 ...... 453
16.3 最佳化資料庫結構 ... 453
16.3.1 將欄位很多的表分解成多個表 ...... 453
16.3.2 增加中間表 ...... 455
16.3.3 增加冗餘欄位 .. 457
16.3.4 最佳化插入記錄的速度 ...... 457
16.3.5 分析表、檢查表和最佳化表 ...... 459
16.4 最佳化 MariaDB伺服器 .. 461
16.4.1 最佳化伺服器硬體 ...... 461
16.4.2 最佳化 MariaDB的參數 ..... 461
16.5 綜合實例——全面最佳化 MariaDB伺服器 .. 463
16.6 疑難問題解答 ....... 465
16.7 上機實踐 ....... 466
第 17章新聞發布系統資料庫設計
17.1 系統概述 ....... 467
17.2 系統功能 ....... 468
17.3 資料庫設計和實現 ....... 469
17.3.1 設計表 ...... 469
17.3.2 設計索引 .. 474
17.3.3 設計視圖 .. 475
17.3.4 設計觸發器 ...... 475
17.4 小結 ....... 476
第 18章論壇管理系統資料庫設計
18.1 系統概述 ....... 477
18.2 系統功能 ....... 478
18.3 資料庫設計和實現 ....... 479
18.3.1 設計方案圖表 .. 479
18.3.2 設計表 ...... 481
18.3.3 設計索引 .. 485
18.3.4 設計視圖 .. 486
18.3.5 設計觸發器 ...... 486
18.4 小結 ....... 487

相關詞條

熱門詞條

聯絡我們