MySQL 與 MariaDB 學習指南 MySQL与MariaDB学习指南

羅素·戴爾 (Russell J.T.Dyer)

買這商品的人也買了...

商品描述

<內容簡介>

本書使讀者不僅能夠深入瞭解MySQL這種主流數據庫,還能全面掌握作為開源數據庫新秀的MariaDB的使用方法。書中內容由淺至深、層層深入,從分步介紹如何安裝MySQL和MariaDB,到以虛構的觀鳥網站為例,詳解數據庫的各種操作。具體內容包括:數據庫的結構;數據的插入、選取、更新、刪除、連接和子查詢;字符串函數、日期和時間函數、聚合函數與數值函數等。後一個部分從更高的角度介紹數據庫的管理,內容涉及用戶賬號及權限、數據庫的備份與恢復,以及利用應用編程接口結合C、Perl、PHP、Python、Ruby等不同語言與數據庫交互。

<目錄>

序xiii
前言xvii
第一部分軟件
第1章入門2
1.1 MySQL和MariaDB的價值2
1.2郵件列表和論壇3
1.3其他書籍和出版物3
第2章安裝MySQL和MariaDB 5
2.1安裝包5
2.2許可6
2.3獲取軟件6
2.4挑選發行7
2.5各種_AMP 8
2.5.1 Linux二進制發行版8
2.5.2 Mac OS X發行版9
2.5.3 Windows發行版12
2.5.4 FreeBSD和Sun Solaris發行版13
2.5.5源碼包15
2.6安裝後16
2.6.1特殊配置17
2.6.2給root設置初始密碼17
2.6.3關於密碼的更多問題,以及刪除匿名用戶18
2.6.4創建用戶19
第3章基礎知識與mysql客戶端20
3.1 mysql客戶端20
3.2連接到服務器21
3.3開始探索數據庫23
3.3.1第一條SQL語句24
3.3.2插入和操作數據26
3.3.3再復雜一點28
3.4小結29
3.5習題29
第二部分數據庫結構
第4章創建數據庫和表32
4.1創建數據庫32
4.2創建表34
4.3插入數據36
4.4更深入地理解表37
4.5小結40
4.6習題40
第5章更改表42
5.1改表需謹慎42
5.2必修的改表技能43
5.3選修的改表技能51
5.3.1設置列的默認值51
5.3.2設置AUTO_INCREMENT的值53
5.3.3改表和建表的另一種方法54
5.3.4重命名一個表56
5.3.5重排序一個表57
5.4索引58
5.5小結62
5.6習題62
第三部分數據處理基礎
第6章插入數據67
6.1語法67
6.2實例68
6.2.1鳥目表69
6.2.2鳥科表70
6.2 .3鳥種表75
6.3其他選擇77
6.3.1明確插入77
6.3.2插入其他表中的數據77
6.3.3題外話:設置正確的order_id 79
6.3.4替換數據82
6.3.5數據插入的優先級83
6.4小結85
6.5習題86
第7章查詢數據88
7.1基本查詢89
7.2有條件地查詢89
7.3結果排序90
7.4限定結果集92
7.5表連接92
7.6表達式與LIKE 94
7.7對結果集進行計數和分組98
7.8小結100
7.9習題100
第8章更新和刪除數據102
8.1更新數據102
8.1.1更新指定行103
8.1.2按行數更新106
8.1.3排序後再按行數更新107
8.1.4同時更新多個表108
8.1.5處理重複109
8.2刪除數據111
8.3小結113
8.4習題113
第9章表連接和子查詢115
9.1合併結果集115
9.2表連接118
9.2.1基本的表連接查詢119
9.2.2更新已連接的表123
9.2.3從已連接的表中刪除數據124
9.3子查詢125
9.3.1標量子查詢126
9.3.2列子查詢128
9.3.3行子查詢129
9.3.4表子查詢130
9.3 .5子查詢的性能考慮131
9.4小結131
9.5習題131
第四部分內置函數
第10章字符串函數134
10.1格式化字符串135
10.1.1拼接字符串135
10.1.2設置大小寫和引號137
10.1. 3修剪和補充字符串137
10.2抽取文本139
10.3搜索字符串及使用長度函數141
10.3.1在字符串中找出某段子串的位置141
10.3.2字符串長度143
10.3.3比較和查找字符串144
10.3.4在字符串中替換或插入內容146
10.4轉換字符串類型148
10.5壓縮字符串150
10.6小結151
10.7習題151
第11章日期和時間函數153
11.1日期和時間的數據類型153
11.2當前日期和時間155
11.3抽取日期和時間中的某部分157
11.4格式化日期和時間160
11.5調整格式標準和時區162
11.6日期和時間的加減164
11.7比較日期和時間168
11.8小結171
11.9習題171
第12章聚合函數和數值函數173
12.1聚合函數173
12.1.1計數173
12.1.2對一組數據進行運算178
12.1.3拼接同組的值182
12.2數值函數183
12.2.1四捨五入183
12.2.2上舍入或下舍入186
12.2.3截短數字187
12.2.4消除負數187
12.3小結189
12.4習題189
第五部分數據庫管理
第13章用戶賬號和權限192
13.1用戶賬號的基礎知識192
13.2限制用戶賬號的訪問權限194
13.2.1用戶名和主機194
13.2.2 SQL權限196
13.2.3數據庫組件和權限198
13.3管理員賬號202
13.3.1用於備份的用戶賬號202
13.3.2用於恢復備份的用戶賬號203
13.3.3用於批量導入的用戶賬號203
13.3.4用於授權的用戶賬號204
13.4回收權限205
13.5刪除用戶賬號206
13.6更改密碼和用戶名207
13.6.1給用戶賬號設置密碼207
13.6.2用戶賬號重命名208
13.7用戶角色209
13.8小結211
13.9習題211
第14章數據庫的備份與恢復213
14.1備份213
14.1.1備份所有數據庫214
14.1.2理解dump文件215
14.1.3備份指定的數據庫220
14.1.4創建備份腳本221
14.1.5備份指定的表221
14.2恢復備份223
14.2.1恢復數據庫223
14.2.2恢復表223
14.2.3只恢復某些行或列228
14.2.4用二進制日誌來做恢復229
14.3制定備份策略234
14.4小結238
14.5習題238
第15章批量導入數據240
15.1準備導入240
15.2導入數據的基本做法243
15.2.1檢查警告信息243
15.2.2檢查導入是否準確244
15.2.3選取導入的數據246
15.3更好地導入248
15.3.1對應域248
15.3.2設置列249
15.4其他格式的域和行250
15.4.1開始、結束和跳脫250
15.4.2替換數據或忽略錯誤251
15.5在MySQL之外導入數據252
15.5.1導入本地文件253
15.5.2使用mysqlimport 253
15.5.3沒有FILE權限也能導入數據254
15.6批量導出數據254
15.7小結256
15.8習題256
第16章應用編程接口258
16.1創建API用戶賬號258
16.2 C API 259
16.2.1連接MySQL 259
16.2.2查詢MySQL 261
16.2.3完整的最小C API程序261
16.2.4用GNU C編譯器編譯262
16.3 Perl DBI 262
16.3.1安裝263
16.3.2連接MySQL 263
16.3.3查詢MySQL 263
16.3.4 Perl DBI完整示例265
16.3.5更多信息267
16.4 PHP API 267
16.4.1安裝與配置267
16.4.2連接MySQL 268
16.4.3查詢MySQL 268
16.4.4更多信息271
16.5 Python 271
16.5.1安裝271
16.5.2連接MySQL 271
16.5.3查詢MySQL 272
16.5.4 Python程序示例273
16.5.5更多信息275
16.6 Ruby API 275
16.6.1安裝和準備使用MySQL/Ruby 275
16.6.2連接MySQL 276
16.6.3查詢MySQL 277
16.6.4 MySQL/Ruby程序示例277
16.6.5更多信息281
16.7 SQL註入281
16.8小結282
16.9習題282
關於作者284
關於封面284