Linux的MySQL資料庫編程

《Linux的MySQL資料庫編程》是一部出版的圖書,作者是趙廷濤、劉冰。

內容簡介
本書全面、深入地講解Linux下的資料庫開發技術,既涵蓋理論基礎,又囊括案例開發,既包括Linux作業系統和資料庫技術的基礎知識,又詳細介紹MySQL資料庫的安裝/配置、查詢最佳化、安全管理及MySQL可視化管理工具的使用,並對幾種典型的資料庫連線技術,如C、PHP、Java以及Python等代碼都有較為全面的展示。後面的開發案例部分細緻講解分散式數據包抓取系統、實時網頁信息抓取系統、Qt線上聊天系統、嵌入式資料庫等,覆蓋了比較廣泛的技術層面。本書立足於豐富的實踐,是作者多年開發經驗的結晶。其中關於套用軟體、Web系統、記憶體資料庫等大量豐富的套用型例子,具有很高的實用價值。
本書適合在Linux系統下進行資料庫編程的開發人員學習和參考,也可供高校計算機相關專業的本科生和研究生參考和使用。

目錄

第1章Linux基礎 1

1.1Linux概述 2

1.1.1什麼是Linux 2

1.1.2Linux的常見版本 3

1.2Linux的特性 6

1.3Linux的安裝 8

1.3.1安裝準備 8

1.3.2VMware的安裝 10

1.3.3Linux載入與啟動 14

1.3.4SSHClient的安裝 15

1.3.5遠程連線的配置 15

1.4Linux使用 17

1.4.1Linux的基本組成 17

1.4.2Linux檔案系統結構 19

1.4.3Linux的常用命令 21

1.5流行Linux站點 24

1.6本章小結 25

1.7習題 25

第2章Linux下的資料庫 27

2.1資料庫概述 28

2.1.1什麼是資料庫 28

2.1.2資料庫的特點 29

2.1.3資料庫的歷史 29

2.1.4資料庫基本原理 31

2.2常見的資料庫 34

2.2.1Linux下的資料庫 34

2.2.2Oracle資料庫 34

2.2.3PostgreSQL資料庫 35

2.2.4DB2資料庫 36

2.2.5MySQL資料庫 37

2.3MySQL資料庫 37

2.3.1MySQL分發包 38

2.3.2MySQL的安裝 39

2.3.3MySQL的基本配置 41

2.4MySQL的基本使用 44

2.4.1MySQL的基本命令 44

2.4.2一個員工信息資料庫示例 47

2.5本章小結 49

2.6習題 50

第3章SQL語言基礎 51

3.1SQL概述 52

3.2資料庫操作 53

3.2.1創建資料庫 53

3.2.2刪除資料庫 54

3.3表的操作 54

3.3.1創建表 54

3.3.2修改表 58

3.3.3刪除表 58

3.4記錄的操作 58

3.4.1插入記錄 58

3.4.2更新記錄 59

3.4.3刪除記錄 59

3.5查詢 59

3.6學生選課系統資料庫設計示例 61

3.6.1系統分析 61

3.6.2邏輯設計 63

3.6.3實施 64

3.7本章小結 68

3.8習題 68

第4章MySQL高級語法 69

4.1視圖操作 70

4.1.1什麼是視圖 70

4.1.2視圖的語法 71

4.1.3視圖的使用 72

4.2觸發器操作 74

4.2.1什麼是觸發器 74

4.2.2觸發器的語法 75

4.2.3觸發器的使用 76

4.3存儲過程操作 78

4.3.1什麼是存儲過程 78

4.3.2存儲過程的語法 79

4.3.3存儲過程的使用 80

4.4索引 82

4.4.1什麼是索引 82

4.4.2索引的語法 84

4.4.3索引的使用 85

4.5事務與鎖 87

4.5.1什麼是事務 87

4.5.2事務的語法 89

4.5.3事務的使用 92

4.6數據類型 94

4.6.1數值數據類型 94

4.6.2字元串數據類型 95

4.6.3日期和時間類型 98

4.7本章小結 99

4.8習題 99

第5章MySQL查詢技術 101

5.1MySQL運算符 102

5.1.1比較運算符 102

5.1.2邏輯運算符 105

5.1.3算術運算符 107

5.2MySQL函式 108

5.2.1字元串操作函式 108

5.2.2控制函式 114

5.2.3數學函式 116

5.2.4時間與日期函式 117

5.2.5加密函式 119

5.3查詢技術 120

5.3.1查詢案例 121

5.3.2統計查詢 123

5.3.3排序與分類 129

5.3.4日期查詢 130

5.4複雜查詢 132

5.4.1案例擴展 132

5.4.2多表查詢 133

5.4.3嵌套查詢 136

5.5本章小結 139

5.6習題 139

第6章MySQL的管理 141

6.1MySQL許可權管理 142

6.1.1許可權原理 142

6.1.2用戶管理 148

6.1.3grant語句 150

6.1.4showgrants語句 157

6.1.5revoke語句 158

6.2數據導入與導出 160

6.2.1數據導入 160

6.2.2數據導出 164

6.3複製技術 166

6.3.1表與數據複製 166

6.3.2表結構複製 167

6.3.3記錄複製 168

6.4備份與恢復 170

6.4.1利用mysqldump 170

6.4.2利用SQL語句 171

6.4.3利用backup語句 172

6.5本章小結 173

6.6習題 173

第7章MySQL常見問題解答 175

7.1MySQL安裝常見問題 176

7.1.1作業系統的注意事項 176

7.1.2MySQL版本的選擇 177

7.1.3MySQL安裝過程中的

常見問題 178

7.2MySQL運行維護常見問題 182

7.3MySQL配置常見問題 189

7.3.1MySQL的配置方式 189

7.3.2MySQL的具體配置 192

7.4MySQL安全常見問題 192

7.4.1設定密碼的問題 192

7.4.2忘記MySQL密碼的問題 193

7.4.3用戶許可權設定 194

7.4.4創建MySQL用戶 194

7.5最佳化常見問題 195

7.5.1MyISAM存儲引擎的最佳化 196

7.5.2InnoDB存儲引擎的最佳化 198

7.6本章小結 199

7.7習題 200

第8章MySQL高級特性 201

8.1MySQL的存儲引擎 202

8.1.1存儲引擎簡介 202

8.1.2MyISAM引擎原理 205

8.1.3InnoDB引擎原理 209

8.1.4MyISAM與InnoDB存儲引擎

的關係 216

8.2MySQL的鎖機制 217

8.2.1鎖簡介 217

8.2.2鎖分類 218

8.2.3如何利用鎖進行性能最佳化 223

8.3本章小結 223

8.4習題 224

第9章可視化工具的使用 225

9.1常用的可視化工具 226

9.2phpMyAdmin 227

9.2.1phpMyAdmin介紹 227

9.2.2phpMyAdmin的安裝 228

9.2.3phpMyAdmin的配置 228

9.2.4phpMyAdmin運行測試 229

9.3phpMyAdmin的基本使用 231

9.3.1phpMyAdmin功能簡介 231

9.3.2phpMyAdmin資料庫

與數據表操作 233

9.3.3資料庫用戶許可權的設定 235

9.4一個微部落格的資料庫設計示例 237

9.4.1微部落格的概念 237

9.4.2微部落格資料庫設計 238

9.4.3實現並測試 241

9.5本章小結 243

9.6習題 244

第10章MySQL連線技術 245

10.1MySQL資料庫連線概述 246

10.2C語言API 247

10.2.1CAPI數據類型 247

10.2.2CAPI預處理 249

10.2.3MySQL資料庫連線函式 251

10.2.4數據操作函式 254

10.2.5關閉連線 256

10.2.6套用示例 258

10.3PHP語言API 260

10.3.1PHP資料庫連線概述 260

10.3.2PHP連線MySQL資料庫 264

10.3.3數據操作 265

10.3.4關閉連線 268

10.3.5套用示例 268

10.4Python語言API 270

10.4.1Python資料庫連線概述 270

10.4.2MySQL資料庫的連線 272

10.4.3數據操作 273

10.4.4關閉連線 273

10.4.5套用示例 273

10.5Java語言API 274

10.5.1Java和JDBC概述 274

10.5.2使用JDBC連線MySQL

資料庫 277

10.5.3數據操作 278

10.5.4關閉連線 278

10.5.5套用示例 278

10.6本章小結 280

10.7習題 280

第11章Linux應用程式開發基礎 281

11.1Linux程式開發概述 282

11.2Qt開發基礎 284

11.2.1Qt簡介 284

11.2.2Qt基礎 286

11.2.3常用的Qt類與控制項 287

11.2.4使用QtCreator開發Qt

程式 293

11.3網路套用開發基礎 298

11.3.1網路編程基礎 298

11.3.2TCP/IP協定 299

11.3.3套接字 300

11.4Linux下的Web開發 306

11.4.1Web開發簡介 306

11.4.2PHP開發基礎 307

11.4.3JSP開發基礎 312

11.5本章小結 317

11.6習題 317

第12章分散式數據包抓取系統 319

12.1入侵檢測系統 320

12.1.1什麼是入侵檢測系統 320

12.1.2入侵檢測系統的組成 321

12.1.3入侵檢測系統的產品 323

12.2需求描述 323

12.2.1基本功能 323

12.2.2技術難點 324

12.3Libpcap庫的使用 324

12.3.1Libpcap簡介 324

12.3.2Libpcap的安裝與使用 326

12.3.3工作原理介紹 328

12.4系統的架構 333

12.4.1模組劃分 333

12.4.2信息的格式 334

12.4.3表的設計 335

12.4.4主控制模組的設計 336

12.4.5採集模組的設計 337

12.4.6存儲模組的設計 340

12.5系統的實現 341

12.5.1基本數據結構 341

12.5.2公共數據 344

12.5.3公共函式 345

12.5.4主控制模組的實現 346

12.5.5採集模組的實現 347

12.5.6存儲模組的實現 353

12.5.7資料庫自動切換的實現 355

12.5.8其他模組的實現 357

12.6系統部署與測試 361

12.6.1編譯與執行 361

12.6.2採集與存儲工作的開啟 362

12.6.3採集與存儲工作的關閉 363

12.6.4幫助與其他功能的測試 364

12.7本章小結 366

12.8習題 366

第13章網址信息收集器 367

13.1URL與搜尋引擎 368

13.1.1什麼是URL 368

13.1.2搜尋引擎 370

13.1.3網址信息收集器的工作

原理 371

13.2主要技術介紹 372

13.2.1總述 372

13.2.2DNS實現 373

13.2.3HTTP請求與數據下載 374

13.2.4一個完整的示例 377

13.3系統架構 380

13.3.1模組劃分 380

13.3.2表的設計 381

13.3.3主控制模組的設計 381

13.3.4採集模組的設計 382

13.3.5網頁分析模組的設計 384

13.3.6存儲模組的設計 384

13.4系統實現 385

13.4.1概述 385

13.4.2主控模組 385

13.4.3公共數據區 386

13.4.4網址信息採集模組 388

13.4.5網址分析與存儲模組 392

13.4.6其他模組介紹 394

13.5系統編譯與運行 398

13.5.1編譯 398

13.5.2執行 398

13.6本章小結 400

13.7習題 400

第14章聊天工具的開發 401

14.1需求分析 402

14.1.1聊天工具介紹 402

14.1.2聊天工具的功能 404

14.1.3需求定位 404

14.2總體設計 405

14.2.1架構設計 405

14.2.2伺服器端設計 409

14.2.3客戶端設計 412

14.2.4通信協定設計 413

14.2.5資料庫表的設計 416

14.3伺服器端實現 419

14.3.1公共數據的設計 419

14.3.2主調度模組的實現 419

14.3.3數據接收模組的實現 422

14.3.4業務服務模組的實現 423

14.3.5數據寫入模組的實現 429

14.3.6即時服務啟動 430

14.3.7即時服務停止 431

14.4客戶端實現 431

14.4.1客戶端界面設計 431

14.4.2數據結構的設計 433

14.4.3登錄模組的設計 434

14.4.4註冊模組的設計 434

14.4.5聊天模組的設計 435

14.4.6離線模組的設計 436

14.4.7數據接收模組的設計 437

14.5編譯與運行 441

14.5.1伺服器端編譯與執行 441

14.5.2客戶端編譯與執行 442

14.5.3測試示意圖 442

14.6本章小結 445

14.7習題 445

第15章嵌入式資料庫 447

15.1嵌入式資料庫簡介 448

15.1.1什麼是嵌入式資料庫 448

15.1.2嵌入式資料庫分類 450

15.1.3嵌入式資料庫的套用

領域 451

15.1.4嵌入式資料庫的未來 452

15.2常見的嵌入式資料庫 453

15.2.1SQLite簡介 453

15.2.2BerkeleyDB簡介 455

15.2.3Empress簡介 456

15.3BerkeleyDB的配置 458

15.3.1BerkeleyDB的下載 458

15.3.2BerkeleyDB的安裝 458

15.3.3BerkeleyDB測試 459

15.4BerkeleyDB的原理 461

15.4.1BerkeleyDB的設計思想 461

15.4.2BerkeleyDB的核心數據

結構 462

15.4.3BerkeleyDB基本算法 464

15.5BerkeleyDB的主要函式 465

15.5.1資料庫的打開 465

15.5.2添加數據 467

15.5.3查詢數據 468

15.5.4刪除數據 469

15.5.5資料庫的關閉、刪除

與重命名 470

15.5.6錯誤處理 471

15.6本章小結 472

15.7習題 473

第16章SQLite 475

16.1SQLite的安裝與配置 476

16.1.1SQLite下載 476

16.1.2SQLite安裝 476

16.1.3SQLite的基本使用 478

16.1.4SQLite的一個小示例 479

16.2SQLite的原理 482

16.2.1SQLite的基本架構 482

16.2.2SQLite的數據類型 485

16.2.3SQLite的數據導入

與導出 486

16.2.4SQL高級用法 490

16.2.5SQLite的一些內置函式 492

16.3SQLite的編程接口 494

16.3.1C語言接口庫 495

16.3.2資料庫打開與關閉函式 495

16.3.3SQL執行函式 497

16.3.4數據查詢函式 498

16.3.5錯誤處理函式 500

16.4使用示例 501

16.5本章小結 503

16.6習題 503

參考文獻 504

附錄:各章習題答案 505

相關詞條

熱門詞條

聯絡我們