內容簡介
本書循序漸進地介紹了PHP 7+MySQL 5.7開發動態網站的主要知識和照組嚷戒技能,提供了大量的PHP和MySQL開發實例供讀者實踐。每一章都清晰地講述了代碼作用及其編寫思路,使讀者能在最短時間內迅速掌握PHP的套用開發技能。
全書共21章,分別介紹了PHP 7的基本概念、PHP伺服器環境配置、PHP的基本語法、PHP的語言結構、字元串和正則表達式、數組、時間和日期、面向對象、錯誤處理和異常處理、PHP與Web頁面互動、檔案與目錄操作、圖形圖像處理、Cookie與會話管理、MySQL 5.7資料庫基礎、數據表的基本操作、數據的基本操作、資料庫的備份與還原、PHP操作MySQL資料庫等,最後通過兩個綜合案例,使讀者進一步鞏固所學的知識,提高綜合實戰能力。
本書適合PHP+MySQL動態網站開發的初學者,以及廣大網站開發人員,也可供高等院校和培訓學校相關專業的師生教學參考。
圖書目錄
第1章 初識PHP 1
1.1 PHP的發展 1
1.1.1 PHP的概念 1
1.1.2 PHP的發展歷程 1
1.1.3 PHP語言的優勢 2
1.2 PHP的套用領域 3
1.3 PHP 7的新特點 3
1.4 PHP常用開發工具 5
1.4.1 PHP代碼開發工具 5
1.4.2 網頁設計工具 6
1.4.3 文本編輯工具 6
1.5 高手私房菜 8
1.6 經典習題 8
第2章 配置PHP 7伺服器環境 9
2.1 PHP伺服器概述 9
2.2 安裝PHP 7前的準備工作 10
2.2.2 獲取PHP 7安裝資源包 10
2.3 PHP 7+Apache伺服器的環境搭建 12
2.3.1 Apache簡介 12
2.3.3 安裝Apache 13
2.3.4 將PHP與Apache建立關聯 14
2.4 PHP環境的集成軟體 16
2.5 實戰演練——我的第一個PHP程式 19
2.6 高手私房菜 20
2.7 經典習題 20
第3章 PHP 7的基本語法 21
3.1 PHP標識符 21
3.1.1 短風格 21
3.1.2 script風格 21
3.1.3 ASP風格 22
3.2 編碼規範 22
3.2.1 什麼是編碼規範 22
3.2.2 PHP中的編碼規範 22
3.3 常 量 24
3.3.1 聲明和使用常量 24
3.3.2 內置常量 25
3.4 變 量 27
3.4.1 PHP中的變數聲明 27
3.4.2 可變變數與變數的引用 28
3.4.3 變數作用域(variable scope) 29
3.4.4 變數的銷毀 32
3.5 數據的類型 33
3.5.1 什麼是類型 33
3.5.2 整型(integer) 34
3.5.3 浮點型(float或double) 34
3.5.4 布爾型(boolean) 34
3.5.5 字元串型(string) 34
3.5.6 數組型(array) 35
3.5.7 對象型(object) 37
3.5.8 NULL型 38
3.5.9 資源類型(resource) 38
3.5.10 數據類型之間的相互轉換 38
3.6 標量類型的聲明 39
3.7 運算符 40
3.7.6 按位運算符 44
3.7.7 否定控制運算符 45
3.7.10 運算符的凳乎優先權府頌煉和結合規則 46
3.8 表達式 46
3.9 實戰演練——創建多維數組府拘拘 47
3.10 高手私房菜 47
3.11 經典習題 48
第4章 PHP語言結構 49
4.1 內置函式 49
4.2 自定義函式 50
4.2.1 自定義和調用函式 50
4.2.2 向函式傳遞參數值 50
4.2.3 向函式傳遞參數引用 51
4.2.4 從函式中返回值 52
4.2.5 對函式的引用 53
4.2.6 對函式取消引用 54
4.3 包含檔案 54
4.3.1 require和include 54
4.3.2 include_once和require_once 55
4.4 流程控制概述 55
4.5 條件控制結構 56
4.5.1 單一條件分支結構(if語句) 56
4.5.2 雙向條件分支結紙精頁構(if…else語句) 57
4.5.3 多局臭敬盼向條件分支結構(elseif語句) 58
4.5.4 多向條件分支結構(switch語句戰陵旬) 59
4.6 循環控制結構 60
4.6.1 while循環語句 60
4.6.2 do…while循環語句 61
4.6.3 for循環語句 62
4.6.4 foreach循環語句 63
4.6.5 流程控制的另一種書寫格式 64
4.6.6 使用break/continue語句跳出循環 66
4.7 實戰演練1——條件分支結構綜合套用 67
4.8 實戰演練2——循環控制結構綜合套用 69
4.9 高手私房菜 70
4.10 經典習題 70
第5章 字元串和正則表達式 71
5.1 字元串的單引號和雙引號 71
5.2 字元串的連線符 72
5.3 字元串的基本操作 74
5.3.1 手動和自動轉義字元串中的字元 74
5.3.2 計算字元串的長度 74
5.3.3 字元串單詞統計 75
5.3.4 清理字元串中的空格 75
5.3.5 字元串的切分與組合 76
5.3.6 字元串子串的截取 77
5.3.7 字元串子串替換 78
5.3.8 字元串查找 78
5.3.9 大小寫轉換 79
5.4 什麼是正則表達式 80
5.5 正則表達式語法規則 80
5.6 實戰演練——創建酒店系統線上訂房表 85
5.7 高手私房菜 88
5.8 經典習題 89
6.1 什麼是數組 90
6.2 數組的類型 90
6.2.1 數字索引數組 90
6.2.2 關聯索引數組 92
6.3 PHP 常量數組 92
6.4 數組構造 93
6.4.1 一維數組 93
6.4.2 多維數組 93
6.5 遍歷數組 95
6.5.1 遍歷一維數字索引數組 95
6.5.2 遍歷一維聯合索引數組 96
6.5.3 遍歷多維數組 97
6.6 數組排序 98
6.6.1 一維數組排序 98
6.6.2 多維數組排序 100
6.7 字元串與數組的轉換 101
6.8 向數組中添加和刪除元素 102
6.8.1 向數組中添加元素 102
6.8.2 從數組中刪除元素 103
6.9 查詢數組中指定元素 105
6.10 統計數組元素個數 106
6.11 刪除數組中的重複元素 108
6.12 調換數組中的鍵值和元素值 108
6.13 實戰演練——數組的序列化 109
6.14 高手私房菜 110
6.15 經典習題 110
第7章 時間和日期 111
7.1 系統時區設定 111
7.1.1 時區劃分 111
7.1.2 時區設定 111
7.2 PHP日期和時間函式 112
7.2.1 關於UNIX時間戳 112
7.2.2 獲取當前時間戳 112
7.2.3 獲取當前日期和時間 113
7.2.4 使用時間戳獲取日期信息 113
7.2.5 檢驗日期的有效性 116
7.2.6 輸出格式化時間戳的日期和時間 116
7.2.7 顯示本地化的日期和時間 118
7.2.9 日期和時間在PHP和MySQL數據格式之間的轉換 119
7.3 實戰演練1——比較兩個時間的大小 120
7.4 實戰演練2——實現倒計時功能 120
7.5 高手私房菜 121
7.6 經典習題 121
第8章 面向對象編程 122
8.1 類和對象的介紹 122
8.2 PHP中類的操作 123
8.2.1 類的聲明 123
8.2.2 成員屬性 124
8.2.3 成員方法 124
8.2.4 類的實例化 124
8.2.5 訪問類中的成員屬性和方法 125
8.3 構造方法和析構方法 127
8.4 訪問方法 129
8.5 類的繼承 130
8.6 高級特性 131
8.6.1 靜態屬性和方法 131
8.6.2 final類和方法 132
8.7 抽象類和接口 134
8.7.1 抽象類 134
8.7.2 接口 135
8.8 面向對象的多態性 136
8.8.1 通過繼承實現多態 137
8.8.2 通過接口實現多態 138
8.9 高手私房菜 139
8.10 經典習題 139
第9章 錯誤處理和異常處理 140
9.1 常見的錯誤和異常 140
9.2 錯誤處理 143
9.2.1 php.ini中的錯誤處理機制 143
9.2.2 套用DIE語句調試 144
9.2.3 自定義錯誤和錯誤觸發器 145
9.2.4 錯誤記錄 148
9.3 異常處理 149
9.3.1 異常的基本處理方法 149
9.3.2 自定義的異常處理器 151
9.3.3 處理多個異常 152
9.3.4 設定頂層異常處理器 153
9.4 實戰演練——處理異常或錯誤 154
9.5 高手私房菜 155
9.6 經典習題 156
第10章 PHP與Web頁面的互動 157
10.1 使用動態內容 157
10.2 表單與PHP 158
10.3 表單設計 158
10.3.1 表單基本結構 159
10.3.2 文本框 159
10.3.3 選項框 160
10.3.4 單選按鈕 162
10.3.5 下拉列表 163
10.3.6 重置按鈕 165
10.3.7 提交按鈕 165
10.4 傳遞數據的兩種方法 168
10.4.1 用POST方式傳遞數據 168
10.4.2 用GET方式傳遞數據 168
10.5 PHP獲取表單傳遞數據的方法 170
10.6 PHP對URL傳遞的參數進行編碼 170
10.7 實戰演練——PHP與Web表單的綜合套用 171
10.8 高手私房菜 173
10.9 經典習題 173
第11章 PHP檔案與操作 174
11.1 檔案操作 174
11.1.1 檔案數據的寫入 174
11.1.2 檔案數據的讀取 178
11.2 操作 179
11.3 檔案的上傳 184
11.4 實戰演練——編寫文本類型的訪客計算器 187
11.5 高手私房菜 188
11.6 經典習題 188
第12章 圖形圖像處理 189
12.1 在PHP中載入GD庫 189
12.2 圖形圖像的典型套用案例 191
12.2.1 創建一個簡單的圖像 191
12.2.2 使用GD2函式在照片上添加文字 193
12.3 Jpgraph庫的使用 196
12.3.1 Jpgraph的安裝 196
12.3.2 Jpgraph的配置 197
12.3.4 製作圓形統計圖 199
12.4 實戰演練——製作3D餅形統計圖 201
12.5 高手私房菜 203
12.6 經典習題 203
第13章 Cookie和會話管理 204
13.1 Cookie基本操作 204
13.1.1 什麼是Cookie 204
13.1.2 創建Cookie 205
13.1.3 讀取Cookie 205
13.1.4 刪除Cookie 206
13.2 認識Session 208
13.2.1 什麼是Session 208
13.2.2 Session的基本功能 208
13.2.3 Cookie與Session 208
13.2.4 在Cookie或URL中存儲Session ID 209
13.3 會話管理 209
13.3.1 創建會話 209
13.3.2 註冊會話變數 210
13.3.3 使用會話變數 210
13.3.4 註銷和銷毀會話變數 211
13.4 實戰演練——會話管理的綜合套用 212
13.5 高手私房菜 213
13.6 經典習題 214
14.1 什麼是MySQL 215
14.1.1 客戶機-伺服器軟體 215
14.1.2 MySQL版本 216
14.1.3 MySQL的優勢 216
14.2 啟動服務並登錄MySQL資料庫 217
14.2.1 啟動MySQL服務 217
14.2.2 登錄MySQL資料庫 218
14.2.3 配置Path變數 220
14.3 MySQL常用圖形管理工具 221
14.4 高手私房菜 222
14.5 經典習題 222
第 15 章 資料庫的基本操作 223
15.1 創建資料庫 223
15.2 刪除資料庫 224
15.3 實戰演練——資料庫的創建和刪除 225
15.4 高手私房菜 227
15.5 經典習題 228
第 16 章 數據表的基本操作 229
16.1 創建數據表 229
16.1.1 創建表的語法形式 229
16.1.2 使用主鍵約束 230
16.1.3 使用外鍵約束 232
16.1.4 使用非空約束 233
16.1.5 使用唯一性約束 233
16.1.6 使用默認約束 234
16.1.7 設定表的屬性值自動增加 235
16.2 查看數據表結構 236
16.2.1 查看錶基本結構語句DESCRIBE 236
16.2.2 查看錶詳細結構語句SHOW CREATE TABLE 237
16.3 修改數據表 238
16.3.1 修改表名 238
16.3.2 修改欄位的數據類型 239
16.3.3 修改欄位名 240
16.3.4 添加欄位 241
16.3.5 刪除欄位 243
16.3.6 修改欄位的排列位置 244
16.3.7 更改表的存儲引擎 245
16.3.8 刪除表的外鍵約束 246
16.4 刪除數據表 247
16.4.1 刪除沒有被關聯的表 248
16.4.2 刪除被其他表關聯的主表 248
16.5 實戰演練——數據表的基本操作 250
16.6 高手私房菜 258
16.7 經典習題 258
第17章 數據的基本操作 260
17.1 插入數據 260
17.1.1 為表的所有欄位插入數據 260
17.1.2 為表的指定欄位插入數據 262
17.1.3 同時插入多條記錄 263
17.2 更新數據 265
17.3 刪除數據 267
17.4 查詢數據 269
17.4.1 查詢所有欄位 272
17.4.2 查詢指定欄位 273
17.4.3 查詢指定記錄 274
17.4.4 帶IN關鍵字的查詢 276
17.4.5 帶BETWEEN AND的範圍查詢 278
17.4.6 帶LIKE的字元匹配查詢 279
17.4.7 查詢空值 281
17.4.8 帶AND的多條件查詢 281
17.4.9 帶OR的多條件查詢 282
17.4.10 查詢結果不重複 284
17.4.11 對查詢結果排序 285
17.5 實戰演練——數據表綜合套用案例 289
17.6 高手私房菜 297
17.7 經典習題 297
第18章 資料庫的備份與還原 299
18.1 數據備份 299
18.1.1 使用MySQLdump命令備份 299
18.1.2 直接複製整個資料庫 305
18.1.3 使用MySQLhotcopy工具快速備份 306
18.2 數據恢復 306
18.2.1 使用MySQL命令恢復 306
18.2.2 直接複製到資料庫 307
18.2.3 MySQLhotcopy快速恢復 308
18.3 資料庫遷移 308
18.3.1 相同版本的MySQL資料庫之間的遷移 308
18.3.2 不同版本的MySQL資料庫之間的遷移 309
18.3.3 不同資料庫之間的遷移 309
18.4 表的導出和導入 309
18.4.1 使用SELECTI…INTO OUTFILE導出文本檔案 309
18.4.2 使用MySQLdump命令導出文本檔案 312
18.4.3 使用MySQL命令導出文本檔案 315
18.4.4 使用LOAD DATA INFILE方式導入文本檔案 318
18.4.5 使用MySQLimport命令導入文本檔案 320
18.5 實戰演練——數據的備份與恢復 322
18.6 高手私房菜 325
18.7 經典習題 326
第19章 PHP操作MySQL資料庫 327
19.1 PHP訪問MySQL資料庫的一般步驟 327
19.2 連線資料庫前的準備工作 327
19.3 訪問資料庫 328
19.3.1 使用mysqli_connect()函式連線MySQL伺服器 329
19.3.2 使用mysqli_select_db()函式更改默認的資料庫 330
19.3.3 使用mysqli_close()函式關閉MySQL連線 331
19.3.4 使用mysqli_query()函式執行SQL語句 331
19.3.5 獲取查詢結果集中的記錄數 332
19.3.6 獲取結果集的一條記錄作為枚舉數組 333
19.3.7 獲取結果集的記錄作為關聯數組 334
19.3.8 獲取結果集中的記錄作為對象 334
19.3.10 使用mysqli_free_result()函式釋放資源 335
19.4 實戰演練1——PHP運算元據庫 336
19.5 實戰演練2——使用insert語句動態添加用戶信息 337
19.7 高手私房菜 341
19.8 經典習題 341
20.1 系統概述 342
20.2 系統功能 343
20.3 資料庫設計和實現 343
20.3.1 設計表 343
20.3.2 設計索引 348
20.3.3 設計視圖 348
20.3.4 設計觸發器 349
第21章 PHP+MySQL開發論壇實戰 350
21.1 網站的需求分析 350
21.1.1 需求分析 350
21.1.2 網站功能模組分析 350
21.2 資料庫分析 351
21.2.1 分析資料庫 351
21.2.2 創建數據表 351
21.3 論壇的代碼實現 352
21.3.1 資料庫連線相關檔案 352
21.3.2 論壇主頁面 359
21.3.3 新用戶註冊頁面 364
21.3.4 論壇帖子的相關頁面 367
21.3.5 後台管理系統的相關頁面 378
3.5 數據的類型 33
3.5.1 什麼是類型 33
3.5.2 整型(integer) 34
3.5.3 浮點型(float或double) 34
3.5.4 布爾型(boolean) 34
3.5.5 字元串型(string) 34
3.5.6 數組型(array) 35
3.5.7 對象型(object) 37
3.5.8 NULL型 38
3.5.9 資源類型(resource) 38
3.5.10 數據類型之間的相互轉換 38
3.6 標量類型的聲明 39
3.7 運算符 40
3.7.6 按位運算符 44
3.7.7 否定控制運算符 45
3.7.10 運算符的優先權和結合規則 46
3.8 表達式 46
3.9 實戰演練——創建多維數組 47
3.10 高手私房菜 47
3.11 經典習題 48
第4章 PHP語言結構 49
4.1 內置函式 49
4.2 自定義函式 50
4.2.1 自定義和調用函式 50
4.2.2 向函式傳遞參數值 50
4.2.3 向函式傳遞參數引用 51
4.2.4 從函式中返回值 52
4.2.5 對函式的引用 53
4.2.6 對函式取消引用 54
4.3 包含檔案 54
4.3.1 require和include 54
4.3.2 include_once和require_once 55
4.4 流程控制概述 55
4.5 條件控制結構 56
4.5.1 單一條件分支結構(if語句) 56
4.5.2 雙向條件分支結構(if…else語句) 57
4.5.3 多向條件分支結構(elseif語句) 58
4.5.4 多向條件分支結構(switch語句) 59
4.6 循環控制結構 60
4.6.1 while循環語句 60
4.6.2 do…while循環語句 61
4.6.3 for循環語句 62
4.6.4 foreach循環語句 63
4.6.5 流程控制的另一種書寫格式 64
4.6.6 使用break/continue語句跳出循環 66
4.7 實戰演練1——條件分支結構綜合套用 67
4.8 實戰演練2——循環控制結構綜合套用 69
4.9 高手私房菜 70
4.10 經典習題 70
第5章 字元串和正則表達式 71
5.1 字元串的單引號和雙引號 71
5.2 字元串的連線符 72
5.3 字元串的基本操作 74
5.3.1 手動和自動轉義字元串中的字元 74
5.3.2 計算字元串的長度 74
5.3.3 字元串單詞統計 75
5.3.4 清理字元串中的空格 75
5.3.5 字元串的切分與組合 76
5.3.6 字元串子串的截取 77
5.3.7 字元串子串替換 78
5.3.8 字元串查找 78
5.3.9 大小寫轉換 79
5.4 什麼是正則表達式 80
5.5 正則表達式語法規則 80
5.6 實戰演練——創建酒店系統線上訂房表 85
5.7 高手私房菜 88
5.8 經典習題 89
6.1 什麼是數組 90
6.2 數組的類型 90
6.2.1 數字索引數組 90
6.2.2 關聯索引數組 92
6.3 PHP 常量數組 92
6.4 數組構造 93
6.4.1 一維數組 93
6.4.2 多維數組 93
6.5 遍歷數組 95
6.5.1 遍歷一維數字索引數組 95
6.5.2 遍歷一維聯合索引數組 96
6.5.3 遍歷多維數組 97
6.6 數組排序 98
6.6.1 一維數組排序 98
6.6.2 多維數組排序 100
6.7 字元串與數組的轉換 101
6.8 向數組中添加和刪除元素 102
6.8.1 向數組中添加元素 102
6.8.2 從數組中刪除元素 103
6.9 查詢數組中指定元素 105
6.10 統計數組元素個數 106
6.11 刪除數組中的重複元素 108
6.12 調換數組中的鍵值和元素值 108
6.13 實戰演練——數組的序列化 109
6.14 高手私房菜 110
6.15 經典習題 110
第7章 時間和日期 111
7.1 系統時區設定 111
7.1.1 時區劃分 111
7.1.2 時區設定 111
7.2 PHP日期和時間函式 112
7.2.1 關於UNIX時間戳 112
7.2.2 獲取當前時間戳 112
7.2.3 獲取當前日期和時間 113
7.2.4 使用時間戳獲取日期信息 113
7.2.5 檢驗日期的有效性 116
7.2.6 輸出格式化時間戳的日期和時間 116
7.2.7 顯示本地化的日期和時間 118
7.2.9 日期和時間在PHP和MySQL數據格式之間的轉換 119
7.3 實戰演練1——比較兩個時間的大小 120
7.4 實戰演練2——實現倒計時功能 120
7.5 高手私房菜 121
7.6 經典習題 121
第8章 面向對象編程 122
8.1 類和對象的介紹 122
8.2 PHP中類的操作 123
8.2.1 類的聲明 123
8.2.2 成員屬性 124
8.2.3 成員方法 124
8.2.4 類的實例化 124
8.2.5 訪問類中的成員屬性和方法 125
8.3 構造方法和析構方法 127
8.4 訪問方法 129
8.5 類的繼承 130
8.6 高級特性 131
8.6.1 靜態屬性和方法 131
8.6.2 final類和方法 132
8.7 抽象類和接口 134
8.7.1 抽象類 134
8.7.2 接口 135
8.8 面向對象的多態性 136
8.8.1 通過繼承實現多態 137
8.8.2 通過接口實現多態 138
8.9 高手私房菜 139
8.10 經典習題 139
第9章 錯誤處理和異常處理 140
9.1 常見的錯誤和異常 140
9.2 錯誤處理 143
9.2.1 php.ini中的錯誤處理機制 143
9.2.2 套用DIE語句調試 144
9.2.3 自定義錯誤和錯誤觸發器 145
9.2.4 錯誤記錄 148
9.3 異常處理 149
9.3.1 異常的基本處理方法 149
9.3.2 自定義的異常處理器 151
9.3.3 處理多個異常 152
9.3.4 設定頂層異常處理器 153
9.4 實戰演練——處理異常或錯誤 154
9.5 高手私房菜 155
9.6 經典習題 156
第10章 PHP與Web頁面的互動 157
10.1 使用動態內容 157
10.2 表單與PHP 158
10.3 表單設計 158
10.3.1 表單基本結構 159
10.3.2 文本框 159
10.3.3 選項框 160
10.3.4 單選按鈕 162
10.3.5 下拉列表 163
10.3.6 重置按鈕 165
10.3.7 提交按鈕 165
10.4 傳遞數據的兩種方法 168
10.4.1 用POST方式傳遞數據 168
10.4.2 用GET方式傳遞數據 168
10.5 PHP獲取表單傳遞數據的方法 170
10.6 PHP對URL傳遞的參數進行編碼 170
10.7 實戰演練——PHP與Web表單的綜合套用 171
10.8 高手私房菜 173
10.9 經典習題 173
第11章 PHP檔案與操作 174
11.1 檔案操作 174
11.1.1 檔案數據的寫入 174
11.1.2 檔案數據的讀取 178
11.2 操作 179
11.3 檔案的上傳 184
11.4 實戰演練——編寫文本類型的訪客計算器 187
11.5 高手私房菜 188
11.6 經典習題 188
第12章 圖形圖像處理 189
12.1 在PHP中載入GD庫 189
12.2 圖形圖像的典型套用案例 191
12.2.1 創建一個簡單的圖像 191
12.2.2 使用GD2函式在照片上添加文字 193
12.3 Jpgraph庫的使用 196
12.3.1 Jpgraph的安裝 196
12.3.2 Jpgraph的配置 197
12.3.4 製作圓形統計圖 199
12.4 實戰演練——製作3D餅形統計圖 201
12.5 高手私房菜 203
12.6 經典習題 203
第13章 Cookie和會話管理 204
13.1 Cookie基本操作 204
13.1.1 什麼是Cookie 204
13.1.2 創建Cookie 205
13.1.3 讀取Cookie 205
13.1.4 刪除Cookie 206
13.2 認識Session 208
13.2.1 什麼是Session 208
13.2.2 Session的基本功能 208
13.2.3 Cookie與Session 208
13.2.4 在Cookie或URL中存儲Session ID 209
13.3 會話管理 209
13.3.1 創建會話 209
13.3.2 註冊會話變數 210
13.3.3 使用會話變數 210
13.3.4 註銷和銷毀會話變數 211
13.4 實戰演練——會話管理的綜合套用 212
13.5 高手私房菜 213
13.6 經典習題 214
14.1 什麼是MySQL 215
14.1.1 客戶機-伺服器軟體 215
14.1.2 MySQL版本 216
14.1.3 MySQL的優勢 216
14.2 啟動服務並登錄MySQL資料庫 217
14.2.1 啟動MySQL服務 217
14.2.2 登錄MySQL資料庫 218
14.2.3 配置Path變數 220
14.3 MySQL常用圖形管理工具 221
14.4 高手私房菜 222
14.5 經典習題 222
第 15 章 資料庫的基本操作 223
15.1 創建資料庫 223
15.2 刪除資料庫 224
15.3 實戰演練——資料庫的創建和刪除 225
15.4 高手私房菜 227
15.5 經典習題 228
第 16 章 數據表的基本操作 229
16.1 創建數據表 229
16.1.1 創建表的語法形式 229
16.1.2 使用主鍵約束 230
16.1.3 使用外鍵約束 232
16.1.4 使用非空約束 233
16.1.5 使用唯一性約束 233
16.1.6 使用默認約束 234
16.1.7 設定表的屬性值自動增加 235
16.2 查看數據表結構 236
16.2.1 查看錶基本結構語句DESCRIBE 236
16.2.2 查看錶詳細結構語句SHOW CREATE TABLE 237
16.3 修改數據表 238
16.3.1 修改表名 238
16.3.2 修改欄位的數據類型 239
16.3.3 修改欄位名 240
16.3.4 添加欄位 241
16.3.5 刪除欄位 243
16.3.6 修改欄位的排列位置 244
16.3.7 更改表的存儲引擎 245
16.3.8 刪除表的外鍵約束 246
16.4 刪除數據表 247
16.4.1 刪除沒有被關聯的表 248
16.4.2 刪除被其他表關聯的主表 248
16.5 實戰演練——數據表的基本操作 250
16.6 高手私房菜 258
16.7 經典習題 258
第17章 數據的基本操作 260
17.1 插入數據 260
17.1.1 為表的所有欄位插入數據 260
17.1.2 為表的指定欄位插入數據 262
17.1.3 同時插入多條記錄 263
17.2 更新數據 265
17.3 刪除數據 267
17.4 查詢數據 269
17.4.1 查詢所有欄位 272
17.4.2 查詢指定欄位 273
17.4.3 查詢指定記錄 274
17.4.4 帶IN關鍵字的查詢 276
17.4.5 帶BETWEEN AND的範圍查詢 278
17.4.6 帶LIKE的字元匹配查詢 279
17.4.7 查詢空值 281
17.4.8 帶AND的多條件查詢 281
17.4.9 帶OR的多條件查詢 282
17.4.10 查詢結果不重複 284
17.4.11 對查詢結果排序 285
17.5 實戰演練——數據表綜合套用案例 289
17.6 高手私房菜 297
17.7 經典習題 297
第18章 資料庫的備份與還原 299
18.1 數據備份 299
18.1.1 使用MySQLdump命令備份 299
18.1.2 直接複製整個資料庫 305
18.1.3 使用MySQLhotcopy工具快速備份 306
18.2 數據恢復 306
18.2.1 使用MySQL命令恢復 306
18.2.2 直接複製到資料庫 307
18.2.3 MySQLhotcopy快速恢復 308
18.3 資料庫遷移 308
18.3.1 相同版本的MySQL資料庫之間的遷移 308
18.3.2 不同版本的MySQL資料庫之間的遷移 309
18.3.3 不同資料庫之間的遷移 309
18.4 表的導出和導入 309
18.4.1 使用SELECTI…INTO OUTFILE導出文本檔案 309
18.4.2 使用MySQLdump命令導出文本檔案 312
18.4.3 使用MySQL命令導出文本檔案 315
18.4.4 使用LOAD DATA INFILE方式導入文本檔案 318
18.4.5 使用MySQLimport命令導入文本檔案 320
18.5 實戰演練——數據的備份與恢復 322
18.6 高手私房菜 325
18.7 經典習題 326
第19章 PHP操作MySQL資料庫 327
19.1 PHP訪問MySQL資料庫的一般步驟 327
19.2 連線資料庫前的準備工作 327
19.3 訪問資料庫 328
19.3.1 使用mysqli_connect()函式連線MySQL伺服器 329
19.3.2 使用mysqli_select_db()函式更改默認的資料庫 330
19.3.3 使用mysqli_close()函式關閉MySQL連線 331
19.3.4 使用mysqli_query()函式執行SQL語句 331
19.3.5 獲取查詢結果集中的記錄數 332
19.3.6 獲取結果集的一條記錄作為枚舉數組 333
19.3.7 獲取結果集的記錄作為關聯數組 334
19.3.8 獲取結果集中的記錄作為對象 334
19.3.10 使用mysqli_free_result()函式釋放資源 335
19.4 實戰演練1——PHP運算元據庫 336
19.5 實戰演練2——使用insert語句動態添加用戶信息 337
19.7 高手私房菜 341
19.8 經典習題 341
20.1 系統概述 342
20.2 系統功能 343
20.3 資料庫設計和實現 343
20.3.1 設計表 343
20.3.2 設計索引 348