MySQL經典實例(第三版)

《MySQL經典實例(第三版)》是2019年中國電力出版社出版的圖書。

基本介紹

  • 中文名:MySQL經典實例(第三版)
  • 出版時間:2019年5月1日
  • 出版社:中國電力出版社
  • ISBN:9787519829728
內容簡介,圖書目錄,

內容簡介

本書主要面向資料庫初學者和專家,以及Web開發人員,經過更新後涵蓋了MySQL新版的強大功能。本書側重於使用Python、PHP、Java、Perl和Ruby的API進行編程。本書包含兩百多個技巧,你可以從中學習:
· 使用mysql客戶端,編寫基於MySQL的程式。
· 建表、載入數據,以及從表中選擇數據。
· 存儲、獲取和處理字元串。
· 使用日期和時間。
· 排序查詢結果,生成匯總信息。
· 使用存儲例程、觸發器和計畫事件。
· 導入、導出、驗證,以及重新格式化數據。
· 執行事務,統計套用。
· 處理Web輸入,根據查詢結果生成Web網頁。
· 使用MySQL進行Web會話管理。
· 安全防範和伺服器管理。

圖書目錄

前言 1
第1章 客戶端程式mysql 17
1.0 概述 17
1.1 設定MySQL用戶賬號 18
1.2 創建資料庫和示例表 20
1.3 找不到mysql 22
1.4 指定mysql的命令選項 24
1.5 以互動的方式執行SQL語句 29
1.6 執行從檔案或程式中讀取的SQL語句 31
1.7 控制mysql輸出的路徑和格式 33
1.8 在SQL語句中使用用戶定義的變數 39
第2章 編寫基於MySQL的程式 42
2.0 概述 42
2.1 連線資料庫與下線 45
2.2 檢查錯誤 59
2.3 編寫庫檔案 67
2.4 執行語句並獲取結果 81
2.5 處理語句中的特殊字元和NULL值 96
2.6 處理標識符中的特殊字元 105
2.7 識別結果集中的NULL值 107
2.8 獲取連線參數 111
2.9 結論和建議 120
第3章 從表中查詢數據 121
3.0 概述 121
3.1 指定查詢的行與列 122
3.2 指定查詢結果中列的別名 124
3.3 查詢結果排序 128
3.4 過濾重複行 129
3.5 處理NULL值 131
3.6 在程式中比較NULL值 133
3.7 通過視圖簡化查詢 134
3.8 多表查詢 135
3.9 截取查詢結果的開頭、末尾或中間部分 137
3.10 當LIMIT要求“錯誤”的排序時該怎么辦 141
3.11 利用表達式計算LIMIT值 142
第4章 表管理 144
4.0 概述 144
4.1 克隆表 144
4.2 將查詢結果保存到表中 145
4.3 創建臨時表 148
4.4 生成唯一的表名 150
4.5 檢查或更改表的存儲引擎 152
4.6 通過mysqldump複製表 153
第5章 字元串 156
5.0 概述 156
5.1 字元串的屬性 157
5.2 字元串的數據類型 161
5.3 設定客戶端連線的字元集 163
5.4 字元串字面量的定義 165
5.5 檢查或更改字元串的字元集或排序規則 167
5.6 轉換字元串的大小寫 170
5.7 控制字元串比較中的大小寫敏感度 172
5.8 利用SQL模式進行模式匹配 175
5.9 使用正則表達式進行模式匹配 178
5.10 分割或連線字元串 182
5.11 搜尋子字元串 185
5.12 設定MySQL用戶賬號 186
5.13 用短語進行全文檢索 191
5.14 全文檢索中必須出現或禁止出現的詞 193
5.15 全文檢索的詞組查找 194
第6章 日期與時間 196
6.0 概述 196
6.1 選擇時間數據類型 197
6.2 使用小數秒支持 199
6.3 更改MySQL的日期格式 200
6.4 設定客戶端時區 204
6.5 切換日期時間值的時區 206
6.6 獲取當前的日期或時間 207
6.7 使用TIMESTAMP或DATETIME追蹤行的修改時間 208
6.8 提取日期或時間值的各部分 211
6.9 合成日期或時間值 216
6.10 時間值和基本單位之間的轉換 218
6.11 計算日期或時間之間的間隔 222
6.12 日期或時間值的加法運算 227
6.13 計算年齡 232
6.14 查詢一個月的第一天、最後一天或當月的天數 234
6.15 通過子字元串替換來計算日期 236
6.16 計算星期 238
6.17 查詢某周中某天的日期 238
6.18 計算閏年 241
6.19 規範化非ISO格式的日期字元串 245
6.20 基於時間特徵的查詢 246
第7章 查詢結果的排序 250
7.0 概述 250
7.1 通過ORDER BY對查詢結果排序 251
7.2 利用表達式進行排序 255
7.3 查詢結果中不包含排序列 256
7.4 控制字元串排序的大小寫區分 260
7.5 日期排序 263
7.6 利用列值的子字元串排序 267
7.7 利用固定長度的子字元串排序 268
7.8 利用可變長度的子字元串排序 271
7.9 按域名順序排列主機名 276
7.10 按數字順序排序用點分割的IP值 278
7.11 將值移動到排序結果的開頭或最後 281
7.12 自定義排序 284
7.13 枚舉值的排序 285
第8章 匯總數據 289
8.0 概述 289
8.1 基本的匯總技巧 291
8.2 通過創建視圖簡化匯總 298
8.3 查找與最小值和最大值相關的值 298
8.4 控制MIN()和MAX()是否區分字元串大小寫 300
8.5 按子群匯總 302
8.6 匯總與NULL值 306
8.7 僅選擇具有特定特徵的組 309
8.8 通過計數來確定值是否唯一 310
8.9 按表達式結果分組 311
8.10 匯總非分類數據 312
8.11 查找最小或最大的匯總值 315
8.12 基於日期的匯總 317
8.13 同時使用分組和總體的匯總值 319
8.14 生成包含匯總和列表的報告 322
第9章 存儲例程,觸發器和計畫事件 326
9.0 概述 326
9.1 創建複合語句對象 329
9.2 利用存儲函式封裝計算 331
9.3 通過存儲過程返回多個值 333
9.4 利用觸發器動態設定列的默認值 334
9.5 利用觸發器模擬基於函式的索引 336
9.6 在其他日期和時間類型中模擬TIMESTAMP屬性 339
9.7 利用觸發器記錄變更 341
9.8 使用事件來計畫資料庫操作 344
9.9 編寫輔助例程動態執行SQL 346
9.10. 處理存儲程式中的錯誤 347
9.11 利用觸發器預處理或拒絕數據 351
第10章 元數據 354
10.0 概述 354
10.1 獲取受語句影響的行數 356
10.2 獲取結果集的元數據 359
10.3 確認語句是否會生成結果集 369
10.4 使用元數據來格式化查詢輸出 369
10.5 查看資料庫和表或檢查其存在性 373
10.6 訪問列的定義 375
10.7 獲取ENUM和SET列的信息 380
10.8 獲取伺服器的元數據 382
10.9 編寫適合MySQL伺服器版本的應用程式 383
第11章 導入和導出數據 386
11.0 概述 386
11.1 使用LOAD DATA和mysqlimport導入數據 390
11.2 導入CSV檔案 401
11.3 導出MySQL的查詢結果 402
11.4 導入和導出NULL值 404
11.5 編寫數據導出程式 406
11.6 數據檔案格式的轉換 411
11.7 提取並重新排列數據檔案的列 412
11.8 MySQL和Microsoft Excel之間的數據交換 415
11.9 以XML的格式導出查詢結果 417
11.10 將XML導入到MySQL中 420
11.11 猜測數據檔案中的表結構 423
第12章 驗證與格式化數據 427
12.0 概述 427
12.1 通過SQL模式拒絕錯誤的輸入值 428
12.2 驗證和轉換數據 430
12.3 使用模式匹配來驗證數據 433
12.4 使用模式匹配廣泛的內容類型 436
12.5 使用模式匹配數字值 436
12.6 使用模式匹配日期或時間 438
12.7 使用模式匹配電子郵件地址或URL 442
12.8 使用表的元數據驗證數據 443
12.9 使用查找表驗證數據 447
12.10 將兩位數的年份值轉換成四位數的形式 449
12.11 檢查日期或時間各部分的有效性 451
12.12 編寫處理日期的工具程式 453
12.13 導入非ISO格式的日期值 459
12.14 使用非ISO格式導出日期 460
12.15 後記 461
第13章 序列 463
13.0 概述 463
13.1 創建自增列並生成序列值 464
13.2 序列的定義 467
13.3 行的刪除對序列造成的影響 469
13.4 設定MySQL用戶賬號 471
13.5 重新編號現有的序列 475
13.6 擴展序列的範圍 477
13.7 重用序列的最大值 478
13.8 按特定的順序給行重新編號 479
13.9 添加序列 480
13.10 同時管理多個自動增加的值 481
13.11 通過自動增量值關聯表 482
13.12 將序列作為計數器 485
13.13 生成重複序列 488
第14章 連線與子查詢 490
14.0 概述 490
14.1 表之間的結合 491
14.2 查找表之間不匹配的行 499
14.3 識別並刪除不匹配或獨立存在的行 504
14.4 表的自我比較 507
14.5 生成主從複合結構列表和匯總 511
14.6 列舉多對多的關係 515
14.7 查找每組的最小值或最大值 518
14.8 利用連線填充或找出列表中的缺口 521
14.9 利用Join控制查詢的排序 524
14.10 在程式中引用連線輸出的列名 526
第15章 統計技術 528
15.0 概述 528
15.1 計算描述性統計 529
15.2 分組描述性統計 533
15.3 生成頻率分布 534
15.4 統計缺失的值 537
15.5 計算線性回歸或相關係數 540
15.6 生成隨機數 542
15.7 隨機排序 544
15.8 隨機選擇數據 547
15.9 計算相鄰兩行之差 548
15.10 查找累積總和與移動平均值 551
15.11 指定排名 555
15.12 計算團隊排名 559
第16章 處理重複數據 565
16.0 概述 565
16.1 防止表中出現重複數據 566
16.2 處理重複的載入數據 568
16.3 識別與統計重複數據的數量 572
16.4 移除表中的重複數據 576
第17章 事務處理 581
17.0 概述 581
17.1 選擇事務存儲引擎 582
17.2 使用SQL執行事務 583
17.3 在程式內執行事務 585
17.4 Perl程式中的事務處理 587
17.5 Ruby程式中的事務處理 589
17.6 PHP程式中的事務處理 590
17.7 Python程式中的事務處理 591
17.8 Java程式中的事務處理 592
第18章MySQL的Web套用簡介 593
18.0 概述 593
18.1 生成網頁的基本方法 594
18.2 通過Apache運行Web腳本 597
18.3 通過Tomcat運行Web腳本 607
18.4 編碼Web輸出中的特殊字元 612
第19章 根據查詢結果生成網頁的內容 621
19.0 概述 621
19.1 根據查詢結果顯示段落 622
19.2 根據查詢結果顯示列表 624
19.3 根據查詢結果顯示表格 635
19.4 根據查詢結果顯示超連結 640
19.5 根據資料庫的內容創建導航索引 643
19.6 存儲圖像或其他二進制數據 649
19.7 提供圖像或其他二進制數據 656
19.8 提供橫幅廣告 659
19.9 提供查詢結果的下載 661
第20章 利用MySQL處理Web輸入 664
20.0 概述 664
20.1 編寫生成Web表單的腳本 667
20.2 根據資料庫的內容創建單選表單元素 670
20.3 根據資料庫內容創建多選的表單元素 686
20.4 將資料庫內容載入到表單中 692
20.5 收集Web輸入 697
20.6 驗證Web輸入 707
20.7 將Web輸入存儲到資料庫 708
20.8 處理檔案上傳 711
20.9 基於Web的資料庫搜尋 718
20.10 生成上下頁的連結 721
20.11 生成點擊標題排序的表格 726
20.12 網頁的訪問次數 730
20.13 記錄網頁的訪問日誌 734
20.14 利用MySQL記錄Apache的日誌 735
第21章 基於MySQL的Web會話管理 743
21.0 概述 743
21.1 在Perl應用程式中使用基於MySQL的會話 746
21.2 在Ruby應用程式中使用基於MySQL的存儲 752
21.3 在PHP會話管理器中使用基於MySQL的存儲 756
21.4 利用MySQL與Tomcat存儲會話信息 766
第22章 伺服器管理 775
22.0 概述 775
22.1 配置伺服器 775
22.2 管理外掛程式接口 778
22.3 控制伺服器的日誌記錄 780
22.4 日誌檔案的輪轉與淘汰 784
22.5 輪轉日誌表或淘汰日誌表的記錄 786
22.6 監控MySQL伺服器 787
22.7 備份的創建和使用 799
第23章 資料庫的安全 801
23.0 概述 801
23.1 了解mysql.user表 802
23.2 管理用戶賬號 803
23.3 密碼策略 808
23.4 檢查密碼強度 810
23.5 密碼過期 811
23.6 設定新密碼 813
23.7 重置過期密碼 813
23.8 查找並修復不安全的賬號 814
23.9 禁止賬號使用MySQL 4.1之前的密碼 818
23.10 查找並刪除匿名賬號 819
23.11 修改“任何主機”和“多個主機”的賬號 820

相關詞條

熱門詞條

聯絡我們