《MySQL入門很輕鬆(微課超值版)》是清華大學出版社出版的圖書。
基本介紹
- 書名:MySQL入門很輕鬆(微課超值版)
- 作者:雲尚科技
- 出版社:清華大學出版社
- ISBN:9787302550570
《MySQL入門很輕鬆(微課超值版)》是針對零基礎讀者研發的MySQL入門教材,側重實戰,結合流行有趣的熱點案例,詳細介紹MySQL套用中的各項技術。全書分為18章,內容包括認識資料庫與MySQL,MySQL的管理工具,資料庫的創建與操作,數據表的創建與操作,數據表的完整性約束,插入、更新與刪除數據記錄,數據表的簡單查詢,數據表的複雜查詢,MySQL編程基礎,內置函式與自定義函式,視圖的創建與套用,索引的創建與套用,觸發器的創建與套用,存儲過程的創建與套用,MySQL用戶的管理,MySQL日誌的管理,MySQL的性能最佳化,資料庫的備份與還原。
目錄
第1章 認識資料庫與MySQL 001
1.1 認識資料庫 001
1.1.1 資料庫的基本概念 001
1.1.2 資料庫系統的組成 002
1.1.3 資料庫系統的特點 003
1.2 認識MySQL資料庫 003
1.2.1 MySQL系統特性 004
1.2.2 選擇MySQL版本 004
1.2.3 MySQL版本的命名機制 004
1.3 安裝與配置MySQL 8.0 005
1.3.1 下載MySQL軟體 005
1.3.2 安裝MySQL軟體 006
1.3.3 配置MySQL軟體 008
1.4 啟動並登錄MySQL資料庫 012
1.4.1 啟動MySQL服務 012
1.4.2 登錄MySQL資料庫 013
1.4.3 配置Path變數 014
1.5 卸載MySQL資料庫 016
1.6 課後習題與練習 017
1.7 新手疑難問題解答 018
1.8 實戰訓練 018
第2章 MySQL的管理工具 019
2.1 認識常用圖形管理工具 019
2.1.1 MySQL Workbench 019
2.1.2 phpMyAdmin 020
2.1.3 Navicat for MySQL 020
2.2 MySQL Workbench的套用 021
2.2.1 下載MySQL Workbench 021
2.2.2 安裝MySQL Workbench 022
2.2.3 創建資料庫連線 023
2.2.4 創建與刪除資料庫 025
2.2.5 創建和刪除新的數據表 026
2.2.6 添加與修改數據表記錄 028
2.2.7 查詢表中的數據記錄 028
2.2.8 修改數據表的數據結構 029
2.3 phpMyAdmin的套用 029
2.3.1 下載並啟動phpMyAdmin 029
2.3.2 創建與刪除資料庫 031
2.3.3 創建與刪除數據表 031
2.3.4 添加數據表記錄 033
2.3.5 資料庫的備份 034
2.3.6 資料庫的還原 034
2.4 Navicat for MySQL的套用 035
2.4.1 下載與安裝Navicat for MySQL 036
2.4.2 連線MySQL伺服器 037
2.4.3 創建與刪除資料庫 038
2.4.4 創建與刪除數據表 039
2.4.5 添加與修改數據記錄 040
2.4.6 查詢數據表中的數據 041
2.4.7 資料庫備份和還原 041
2.5 以圖形方式管理MySQL用戶 043
2.5.1 創建用戶賬戶 043
2.5.2 刪除用戶賬戶 045
2.5.3 加密用戶賬戶 045
2.5.4 用戶許可權管理 046
2.6 課後習題與練習 047
2.7 新手疑難問題解答 048
2.8 實戰訓練 049
第3章 資料庫的創建與操作 050
3.1 MySQL資料庫概述 050
3.1.1 資料庫特點 050
3.1.2 資料庫對象 051
3.1.3 系統資料庫 052
3.2 創建資料庫 053
3.2.1 使用CREATE DATABASE語句創建 053
3.2.2 使用mysqladmin命令創建 053
3.2.3 使用PHP腳本創建 054
3.3 選擇與查看資料庫 055
3.3.1 從命令提示視窗中選擇 055
3.3.2 使用PHP腳本選擇 055
3.3.3 使用命令查看資料庫 056
3.4 刪除資料庫 056
3.4.1 使用DROP語句刪除 056
3.4.2 使用mysqladmin命令刪除 057
3.4.3 使用PHP腳本刪除 057
3.5 資料庫存儲引擎 058
3.5.1 MySQL存儲引擎簡介 058
3.5.2 InnoDB存儲引擎 060
3.5.3 MyISAM存儲引擎 060
3.5.4 MEMORY存儲引擎 061
3.5.5 存儲引擎的選擇 061
3.6 課後習題與練習 062
3.7 新手疑難問題解答 063
3.8 實戰訓練 063
第4章 數據表的創建與操作 064
4.1 數據表中能存放的數據類型 064
4.1.1 數值類型 064
4.1.2 日期和時間類型 066
4.1.3 字元串類型 066
4.1.4 選擇數據類型 067
4.2 創建數據表 068
4.2.1 創建數據表的語法形式 068
4.2.2 使用CREATE語句創建數據表 068
4.3 查看數據表的結構 069
4.3.1 查看錶基本結構 070
4.3.2 查看錶詳細結構 070
4.4 修改數據表 070
4.4.1 修改數據表的名稱 070
4.4.2 修改欄位數據類型 071
4.4.3 修改數據表的欄位名 072
4.4.4 在數據表中添加欄位 072
4.4.5 修改欄位的排序方式 074
4.4.6 刪除不需要的欄位 075
4.5 刪除數據表 075
4.5.1 刪除沒有被關聯的表 075
4.5.2 刪除被其他表關聯的主表 076
4.6 課後習題與練習 077
4.7 新手疑難問題解答 079
4.8 實戰訓練 079
第5章 數據表的完整性約束 080
5.1 數據完整性及其分類 080
5.1.1 數據完整性的分類 080
5.1.2 表中的約束條件有哪些 081
5.2 主鍵約束 081
5.2.1 創建表時添加主鍵 081
5.2.2 修改表時添加主鍵 083
5.2.3 創建聯合主鍵約束 084
5.2.4 刪除表中的主鍵 085
5.3 外鍵約束 086
5.3.1 創建表時添加外鍵約束 086
5.3.2 修改表時添加外鍵約束 088
5.3.3 刪除表中的外鍵約束 088
5.4 默認約束 089
5.4.1 創建表時添加默認約束 089
5.4.2 修改表時添加默認約束 090
5.4.3 刪除表中的默認約束 090
5.5 唯一性約束 091
5.5.1 創建表時添加唯一性約束 091
5.5.2 修改表時添加唯一性約束 092
5.5.3 刪除表中的唯一性約束 092
5.6 非空約束 093
5.6.1 創建表時添加非空約束 093
5.6.2 修改表時添加非空約束 094
5.6.3 刪除表中的非空約束 094
5.7 欄位的自增屬性 095
5.7.1 創建表時添加自增屬性 095
5.7.2 修改表時添加自增屬性 096
5.7.3 刪除表中的自增屬性 096
5.8 課後習題與練習 096
5.9 新手疑難問題解答 097
5.10 實戰訓練 098
第6章 插入、更新與刪除數據記錄 100
6.1 向數據表中插入數據 100
6.1.1 給表里的所有欄位插入數據 100
6.1.2 向表中添加數據時使用默認值 103
6.1.3 一次插入多條數據 104
6.1.4 通過複製表數據插入數據 105
6.2 更新數據表中的數據 107
6.2.1 更新表中的全部數據 107
6.2.2 更新表中指定單行數據 108
6.2.3 更新表中指定多行數據 109
6.3 刪除數據表中的數據 109
6.3.1 根據條件清除數據 109
6.3.2 清空表中的數據 110
6.4 課後習題與練習 111
6.5 新手疑難問題解答 112
6.6 實戰訓練 112
第7章 數據表的簡單查詢 115
7.1 認識SELECT語句 115
7.2 數據的簡單查詢 116
7.2.1 查詢表中所有數據 116
7.2.2 查詢表中想要的數據 118
7.2.3 對查詢結果進行計算 118
7.2.4 為結果列使用別名 119
7.2.5 在查詢時去除重複項 119
7.2.6 在查詢結果中給表取別名 119
7.2.7 使用LIMIT限制查詢數據 120
7.3 使用WHERE子句進行條件查詢 121
7.3.1 比較查詢條件的數據查詢 121
7.3.2 帶BETWEEN AND的範圍查詢 122
7.3.3 帶IN關鍵字的查詢 123
7.3.4 帶LIKE的字元匹配查詢 124
7.3.5 未知空數據的查詢 126
7.3.6 帶AND的多條件查詢 126
7.3.7 帶OR的多條件查詢 127
7.4 操作查詢的結果 129
7.4.1 對查詢結果進行排序 129
7.4.2 對查詢結果進行分組 131
7.4.3 對分組結果過濾查詢 133
7.5 使用集合函式進行統計查詢 134
7.5.1 使用SUM()求列的和 134
7.5.2 使用AVG()求列平均值 135
7.5.3 使用MAX()求列最大值 135
7.5.4 使用MIN()求列最小值 136
7.5.5 使用COUNT()統計 137
7.6 課後習題與練習 138
7.7 新手疑難問題解答 139
7.8 實戰訓練 139
第8章 數據表的複雜查詢 140
8.1 子查詢 140
8.1.1 帶比較運算符的子查詢 140
8.1.2 帶IN關鍵字的子查詢 142
8.1.3 帶ANY關鍵字的子查詢 143
8.1.4 帶ALL關鍵字的子查詢 143
8.1.5 帶SOME關鍵字的子查詢 144
8.1.6 帶EXISTS關鍵字的子查詢 144
8.2 合併查詢結果 145
8.2.1 合併查詢的語法格式 145
8.2.2 合併查詢的具體套用 145
8.3 內連線查詢 147
8.3.1 笛卡兒積查詢 147
8.3.2 內連線的簡單查詢 147
8.3.3 等值內連線查詢 148
8.3.4 非等值內連線查詢 149
8.3.5 自連線的內連線查詢 149
8.3.6 帶條件的內連線查詢 149
8.4 外連線查詢 150
8.4.1 認識外連線查詢 150
8.4.2 左外連線查詢 151
8.4.3 右外連線查詢 151
8.5 使用正則表達式查詢 152
8.5.1 查詢以特定字元或字元串開頭的記錄 152
8.5.2 查詢以特定字元或字元串結尾的記錄 153
8.5.3 用符號“.”代替字元串中的任意一個字元 153
8.5.4 匹配指定字元中的任意一個 154
8.5.5 匹配指定字元以外的字元 155
8.5.6 匹配指定字元串 155
8.5.7 用“*”和“+”匹配多個字元 156
8.5.8 使用{M}或者{M,N}指定字元串連續出現的次數 156
8.6 課後習題與練習 157
8.7 新手疑難問題解答 158
8.8 實戰訓練 158
第9章 MySQL編程基礎 159
9.1 MySQL語言編程 159
9.2 認識常量與變數 160
9.2.1 認識常量 160
9.2.2 定義變數 161
9.3 常用運算符及優先權 163
9.3.1 算術運算符 163
9.3.2 比較運算符 164
9.3.3 邏輯運算符 169
9.3.4 位運算符 171
9.3.5 運算符的優先權 173
9.4 認識流程控制語句 173
9.4.1 IF語句 174
9.4.2 CASE語句 174
9.4.3 LOOP語句 175
9.4.4 LEAVE語句 175
9.4.5 ITERATE語句 175
9.4.6 REPEAT語句 176
9.4.7 WHILE語句 176
9.5 課後習題與練習 177
9.6 新手疑難問題解答 178
9.7 實戰訓練 178
第10章 內置函式與自定義函式 179
10.1 數學函式 179
10.1.1 求絕對值和返回圓周率 180
10.1.2 獲取數平方根與求余 180
10.1.3 獲取四捨五入後的值 181
10.1.4 求數值的冪運算 182
10.1.5 求數值的對數運算值 182
10.1.6 角度與弧度的相互轉換 183
10.1.7 求正弦值與餘弦值 183
10.1.8 求正切值與餘切值 183
10.2 字元串函式 184
10.2.1 計算字元串的字元數 185
10.2.2 計算字元串的長度 185
10.2.3 合併字元串 185
10.2.4 替換字元串 186
10.2.5 字母大小寫轉換 187
10.2.6 獲取指定長度字元串 187
10.2.7 填充字元串 188
10.2.8 刪除字元串的空格 188
10.3 日期和時間函式 189
10.3.1 獲取當前日期和當前時間 190
10.3.2 獲取當前日期和時間 191
10.3.3 獲取UNIX格式的時間 191
10.3.4 返回UTC日期和返回UTC時間 192
10.3.5 獲取指定日期的月份 192
10.3.6 獲取指定日期的星期數 192
10.3.7 獲取指定日期在一年中的星期周數 193
10.3.8 時間和秒鐘的相互轉換 194
10.3.9 日期和時間的加減運算 194
10.3.10 將日期和時間進行格式化 196
10.4 其他內置函式 197
10.4.1 條件判斷函式 197
10.4.2 系統信息函式 199
10.4.3 數據加密函式 202
10.5 自定義函式 202
10.5.1 創建自定義函式 202
10.5.2 調用自定義函式 203
10.5.3 查看自定義函式 204
10.5.4 修改自定義函式 205
10.5.5 刪除自定義函式 206
10.6 課後習題與練習 207
10.7 新手疑難問題解答 208
10.8 實戰訓練 208
第11章 視圖的創建與套用 209
11.1 了解視圖 209
11.1.1 視圖的含義 209
11.1.2 視圖的作用 210
11.2 創建視圖 210
11.2.1 創建視圖的語法格式 210
11.2.2 在單表上創建視圖 211
11.2.3 在多表上創建視圖 212
11.3 修改視圖 213
11.3.1 修改視圖的語法格式 213
11.3.2 使用CREATE OR REPLACE VIEW語句修改視圖 214
11.3.3 使用ALTER語句修改視圖 215
11.4 查看視圖信息 216
11.4.1 使用DESCRIBE語句查看 216
11.4.2 使用SHOW TABLE STATUS語句查看 216
11.4.3 使用SHOW CREATE VIEW語句查看 217
11.4.4 在views表中查看視圖詳細信息 218
11.5 使用視圖更新數據 218
11.5.1 通過視圖插入數據 219
11.5.2 通過視圖修改數據 220
11.5.3 通過視圖刪除數據 220
11.6 刪除視圖 221
11.6.1 刪除視圖的語法 221
11.6.2 刪除不用的視圖 222
11.7 課後習題與練習 222
11.8 新手疑難問題解答 223
11.9 實戰訓練 224
第12章 索引的創建與套用 225
12.1 了解索引 225
12.1.1 索引的概念 225
12.1.2 索引的作用 226
12.1.3 索引的分類 226
12.2 創建數據表時創建索引 226
12.2.1 創建普通索引 227
12.2.2 創建唯一索引 228
12.2.3 創建全文索引 229
12.2.4 創建單列索引 230
12.2.5 創建多列索引 230
12.2.6 創建空間索引 231
12.3 在已經存在的表上創建索引 232
12.3.1 創建普通索引 233
12.3.2 創建唯一索引 233
12.3.3 創建全文索引 234
12.3.4 創建單列索引 234
12.3.5 創建多列索引 235
12.3.6 創建空間索引 235
12.4 使用ALTER TABLE語句創建索引 236
12.4.1 創建普通索引 237
12.4.2 創建唯一索引 237
12.4.3 創建全文索引 238
12.4.4 創建單列索引 238
12.4.5 創建多列索引 238
12.4.6 創建空間索引 239
12.5 刪除索引 239
12.5.1 使用ALTER TABLE語句刪除索引 239
12.5.2 使用DROP INDEX語句刪除索引 240
12.6 課後習題與練習 240
12.7 新手疑難問題解答 241
12.8 實戰訓練 242
第13章 觸發器的創建與套用 243
13.1 了解觸發器 243
13.2 創建觸發器 244
13.2.1 創建一條執行語句的觸發器 244
13.2.2 創建多條執行語句的觸發器 246
13.3 查看觸發器 247
13.3.1 使用SHOW TRIGGERS語句查看 247
13.3.2 通過INFORMATION_SCHEMA查看 247
13.4 刪除觸發器 249
13.5 課後習題與練習 249
13.6 新手疑難問題解答 250
13.7 實戰訓練 250
第14章 存儲過程的創建與套用 251
14.1 了解存儲過程 251
14.1.1 什麼是存儲過程 251
14.1.2 存儲過程的作用 252
14.2 創建存儲過程 252
14.2.1 創建存儲過程的語法格式 252
14.2.2 創建不帶參數的存儲過程 253
14.2.3 創建帶有參數的存儲過程 254
14.3 調用存儲過程 254
14.3.1 調用存儲過程的語法格式 254
14.3.2 調用不帶參數的存儲過程 254
14.3.3 調用帶有參數的存儲過程 255
14.4 修改存儲過程 255
14.4.1 修改存儲過程的語法格式 255
14.4.2 使用SQL語句修改存儲過程 256
14.5 查看存儲過程 257
14.5.1 使用SHOW PROCEDURE STATUS語句查看 257
14.5.2 使用SHOW CREATE PROCEDURE語句查看 257
14.5.3 通過INFORMATION_SCHEMA.ROUTINES查看 258
14.6 刪除存儲過程 258
14.7 課後習題與練習 259
14.8 新手疑難問題解答 260
14.9 實戰訓練 260
第15章 MySQL用戶的管理 261
15.1 認識用戶許可權表 261
15.1.1 user表 261
15.1.2 db表 262
15.1.3 tables_priv表 263
15.1.4 columns_priv表 264
15.1.5 procs_priv表 264
15.2 用戶賬戶的管理 265
15.2.1 創建用戶賬戶 265
15.2.2 刪除用戶賬戶 266
15.3 用戶許可權的管理 268
15.3.1 認識用戶許可權 268
15.3.2 授予用戶許可權 268
15.3.3 查看用戶許可權 270
15.3.4 收回用戶許可權 270
15.4 用戶角色的管理 271
15.4.1 創建角色 271
15.4.2 給角色授權 271
15.4.3 刪除角色 272
15.5 課後習題與練習 273
15.6 新手疑難問題解答 274
15.7 實戰訓練 274
第16章 MySQL日誌的管理 275
16.1 錯誤日誌 275
16.1.1 啟動錯誤日誌 275
16.1.2 查看錯誤日誌 276
16.1.3 刪除錯誤日誌 276
16.2 二進制日誌 276
16.2.1 啟動二進制日誌 277
16.2.2 查看二進制日誌 278
16.2.3 刪除二進制日誌 279
16.3 通用查詢日誌 280
16.3.1 啟動通用查詢日誌 280
16.3.2 查看通用查詢日誌 281
16.3.3 刪除通用查詢日誌 281
16.4 慢查詢日誌 281
16.4.1 啟動慢查詢日誌 281
16.4.2 查看慢查詢日誌 282
16.4.3 刪除慢查詢日誌 282
16.5 課後習題與練習 282
16.6 新手疑難問題解答 283
16.7 實戰訓練 284
第17章 MySQL的性能最佳化 285
17.1 認識MySQL性能最佳化 285
17.2 查詢速度的最佳化 286
17.2.1 分析查詢語句 286
17.2.2 使用索引最佳化查詢 289
17.2.3 使用索引查詢的缺陷 289
17.2.4 最佳化子查詢 292
17.3 資料庫結構的最佳化 292
17.3.1 通過分解表來最佳化 292
17.3.2 通過中間表來最佳化 293
17.3.3 通過冗餘欄位最佳化 294
17.3.4 最佳化插入記錄的速度 295
17.3.5 分析表、檢查表和最佳化表 296
17.4 MySQL伺服器的最佳化 298
17.4.1 伺服器硬體的最佳化 298
17.4.2 MySQL參數的最佳化 298
17.5 課後習題與練習 299
17.6 新手疑難問題解答 300
17.7 實戰訓練 300
第18章 資料庫的備份與還原 301
18.1 資料庫的備份 301
18.1.1 使用MySQLdump工具備份 301
18.1.2 使用MySQLhotcopy工具快速備份 305
18.1.3 直接複製整個資料庫目錄 306
18.2 資料庫的還原 306
18.2.1 使用MySQL命令還原 306
18.2.2 使用MySQLhotcopy工具快速還原 307
18.2.3 直接複製到資料庫目錄 307
18.3 資料庫的遷移 308
18.3.1 相同版本之間的遷移 308
18.3.2 不同版本之間的遷移 308
18.3.3 不同資料庫之間的遷移 308
18.4 數據表的導出和導入 309
18.4.1 使用MySQL命令導出 309
18.4.2 使用MySQLdump命令導出 311
18.4.3 使用SELECT…INTO OUTFILE語句導出 312
18.4.4 使用LOAD DATA INFILE語句導入 315
18.4.5 使用MySQLimport命令導入 317
18.5 課後習題與練習 318
18.6 新手疑難問題解答 319
18.7 實戰訓練 319