sql字串出現次數的問題,透過圖書和論文來找解法和答案更準確安心。 我們找到下列包括價格和評價等資訊懶人包

sql字串出現次數的問題,我們搜遍了碩博士論文和台灣出版的書籍,推薦衚衕夫寫的 MySQL 8從零開始學(視頻教學版) 和李穎的 PHP+MySQL動態網站開發基礎教程都 可以從中找到所需的評價。

另外網站Python字串(string)基礎與20種常見操作也說明:多數的程式設計師,處理字串的次數遠比數字還要多。 ... 將字串結合; 以replace() 替換; 用index() 或find() 找尋位置; 用count() 計算出現的次數.

這兩本書分別來自清華大學 和清華大學所出版 。

最後網站sql统计字符串出现次数技巧- CC11001100則補充:在牛客网上看到一道题,感觉挺有趣,是用sql统计字符串出现的次数。 这里提供一种思路,比如统计字符串A中子串B的出现次数:SELECT (LENGTH(A) ...

接下來讓我們看這些論文和書籍都說些什麼吧:

除了sql字串出現次數,大家也想知道這些:

MySQL 8從零開始學(視頻教學版)

為了解決sql字串出現次數的問題,作者衚衕夫 這樣論述:

本書內容主要包括My SQL的安裝與配置、資料庫的創建、資料表的創建、資料類型和運運算元、資料表的操作(插入、更新與刪除資料)、索引、視圖、查詢數據、My SQL函數、存儲過程和函數、觸發器、使用者管理、資料備份與還原、My SQL日誌、性能優化。   最後通過兩個綜合案例的資料庫設計進一步講述My SQL在實際工作中的應用,重點介紹My SQL的安裝與配置、資料類型和運運算元以及資料表的操作。本書注重實戰操作,幫助讀者循序漸進地掌握My SQL中的各項技術。   本書共有400個實例和14個綜合案例,還有大量的經典習題。隨書贈送了近20小時培訓班形式的視頻教學錄影,詳細講解書中每一個知識點和

每一個資料庫操作的方法和技巧。同時還提供本書所有例子的原始程式碼,讀者可以直接查看和調用。   本書適合My SQL資料庫初學者、My SQL資料庫開發人員和My SQL資料庫管理員學習,同時也能作為高等院校相關專業師生的教學用書。 胡同夫,從事多年網站前端開發和資料庫管理工作。精通多種程式設計語言和關係型數據庫管理,具有多年實戰開發經驗,對My SQL有深入研究。 第1章  MySQL的安裝與配置 1 1.1  在Windows平臺下安裝與配置MySQL 8.0 1 1.1.1  安裝MySQL 8.0 1 1.1.2  配置MySQL 8.0 5 1

.2  啟動服務並登錄MySQL資料庫 9 1.2.1  啟動MySQL服務 9 1.2.2  登錄MySQL資料庫 10 1.2.3  配置Path變數 11 1.3  MySQL常用圖形管理工具 13 1.4  在Linux平臺下安裝與配置MySQL 8.0 14 1.4.1  Linux作業系統下的MySQL版本介紹 14 1.4.2  安裝和配置MySQL的RPM包 15 1.4.3  安裝和配置MySQL的源碼包 18 1.5  專家解惑 19 1.6  經典習題 19 第2章  操作資料庫和資料表 20 2.1  創建資料庫 20 2.2  刪除資料庫 22 2.3  創建資料表

22 2.3.1  創建表的語法形式 22 2.3.2  使用主鍵約束 24 2.3.3  使用外鍵約束 25 2.3.4  使用非空約束 26 2.3.5  使用唯一性約束 27 2.3.6  使用默認約束 27 2.3.7  設置表的屬性值自動增加 28 2.4  查看資料表結構 29 2.4.1  查看表基本結構語句DESCRIBE 29 2.4.2  查看表詳細結構語句SHOW CREATE TABLE 30 2.5  修改資料表 31 2.5.1  修改表名 31 2.5.2  修改欄位的資料類型 32 2.5.3  修改欄位名 33 2.5.4  添加欄位 34 2.5.5  刪

除欄位 36 2.5.6  修改欄位的排列位置 37 2.5.7  更改表的存儲引擎 38 2.5.8  刪除表的外鍵約束 39 2.6  刪除資料表 40 2.6.1  刪除沒有被關聯的表 41 2.6.2  刪除被其他表關聯的主表 41 2.7  MySQL 8.0的新特性1——默認字元集改為utf8mb4 43 2.8  MySQL 8.0的新特性2——自增變數的持久化 44 2.9  綜合案例——資料表的基本操作 46 2.10  專家解惑 54 2.11  經典習題 54 第3章  資料類型和運算子 56 3.1  MySQL資料類型介紹 56 3.1.1  整數類型 56 3.1

.2  浮點數類型和定點數類型 58 3.1.3  日期與時間類型 60 3.1.4  文本字串類型 71 3.1.5  二進位字元串類型 76 3.2  如何選擇資料類型 79 3.3  常見運算子介紹 80 3.3.1  運算子概述 80 3.3.2  算術運算子 81 3.3.3  比較運算子 82 3.3.4  邏輯運算子 90 3.3.5  位運算子 92 3.3.6  運算子的優先順序 95 3.4  綜合案例——運算子的使用 96 3.5  專家解惑 98 3.6  經典習題 99 第4章  插入、更新與刪除資料 100 4.1  插入資料 100 4.1.1  為表的所有欄位

插入資料 100 4.1.2  為表的指定欄位插入資料 102 4.1.3  同時插入多條記錄 103 4.1.4  將查詢結果插入表中 105 4.2  更新資料 107 4.3  刪除資料 109 4.4  為表增加計算列 111 4.5  MySQL 8.0的新特性——DDL的原子化 112 4.6  綜合案例——記錄的插入、更新和刪除 113 4.7  專家解惑 117 4.8  經典習題 118 第5章  索引 119 5.1  索引簡介 119 5.1.1  索引的含義和特點 119 5.1.2  索引的分類 120 5.1.3  索引的設計原則 121 5.2  創建索引 12

1 5.2.1  創建表的時候創建索引 121 5.2.2  在已經存在的表上創建索引 127 5.3  刪除索引 134 5.4  MySQL 8.0的新特性1——支援降冪索引 136 5.5  MySQL 8.0的新特性2——統計長條圖 138 5.5.1  長條圖的優點 139 5.5.2  長條圖的基本操作 139 5.6  綜合案例——創建索引 141 5.7  專家解惑 143 5.8  經典習題 143 第6章  視圖 145 6.1  視圖概述 145 6.1.1  視圖的含義 145 6.1.2  視圖的作用 146 6.2  創建視圖 147 6.2.1  創建視圖的語法

形式 147 6.2.2  在單表上創建視圖 147 6.2.3  在多表上創建視圖 148 6.3  查看視圖 149 6.3.1  使用DESCRIBE語句查看視圖的基本資訊 149 6.3.2  使用SHOW TABLE STATUS語句查看視圖的基本資訊 150 6.3.3  使用SHOW CREATE VIEW語句查看視圖的詳細資訊 151 6.3.4  在views表中查看視圖的詳細資訊 152 6.4  修改視圖 153 6.4.1  使用CREATE OR REPLACE VIEW語句修改視圖 153 6.4.2  使用ALTER語句修改視圖 154 6.5  更新視圖 155

6.6  刪除視圖 158 6.7  綜合案例——視圖應用 158 6.8  專家解惑 166 6.9  經典習題 167 第7章  查詢資料 168 7.1  基本查詢語句 168 7.2  單表查詢 170 7.2.1  查詢所有欄位 171 7.2.2  查詢指定欄位 172 7.2.3  查詢指定記錄 173 7.2.4  帶IN關鍵字的查詢 175 7.2.5  帶BETWEEN AND的範圍查詢 176 7.2.6  帶LIKE的字元匹配查詢 178 7.2.7  查詢空值 179 7.2.8  帶AND的多條件查詢 181 7.2.9  帶OR的多條件查詢 182 7.2.1

0  查詢結果不重複 183 7.2.11  對查詢結果排序 184 7.2.12  分組查詢 188 7.2.13  使用LIMIT限制查詢結果的數量 193 7.3  使用集合函數查詢 194 7.3.1  COUNT()函數 194 7.3.2  SUM()函數 195 7.3.3  AVG()函數 196 7.3.4  MAX()函數 197 7.3.5  MIN()函數 198 7.4  連接查詢 199 7.4.1  內連接查詢 199 7.4.2  外連接查詢 202 7.4.3  複合條件連接查詢 204 7.5  子查詢 205 7.5.1  帶ANY、SOME關鍵字的子查詢

205 7.5.2  帶ALL關鍵字的子查詢 206 7.5.3  帶EXISTS關鍵字的子查詢 207 7.5.4  帶IN關鍵字的子查詢 208 7.5.5  帶比較運算子的子查詢 210 7.6  合併查詢結果 211 7.7  為表和欄位取別名 214 7.7.1  為表取別名 214 7.7.2  為欄位取別名 216 7.8  使用規則運算式查詢 217 7.8.1  查詢以特定字元或字串開頭的記錄 218 7.8.2  查詢以特定字元或字串結尾的記錄 219 7.8.3  用符號“.”來替代字串中的任意一個字元 219 7.8.4  使用“*”和“ ”匹配多個字元 220 7.

8.5  匹配指定字串 220 7.8.6  匹配指定字元中的任意一個 221 7.8.7  匹配指定字元以外的字元 222 7.8.8  使用{n,}或者{n,m}指定字串連續出現的次數 223 7.9  MySQL 8.0的新特性1——GROUP BY不再隱式排序 224 7.10  MySQL 8.0的新特性2——通用表運算式 226 7.11  綜合案例——資料表查詢操作 230 7.12  專家解惑 237 7.13  經典習題 237 第8章  MySQL函數 239 8.1  MySQL函數簡介 239 8.2  數學函數 240 8.3  字串函數 241 8.3.1  計算

字串字元數的函數和計算字串長度的函數 242 8.3.2  合併字串函數CONCAT(s1,s2,…)、CONCAT_WS(x,s1,s2,…) 242 8.3.3  替換字串的函數INSERT(s1,x,len,s2)和字母大小寫轉換函數 242 8.3.4  獲取指定長度的字串的函數LEFT(s,n)和RIGHT(s,n) 243 8.3.5  填補字元串的函數LPAD(s1,len,s2)和RPAD(s1,len,s2) 243 8.3.6  刪除空格的函數LTRIM(s)和RTRIM(s) 244 8.3.7  刪除指定字串的函數TRIM(s1 FROM s) 244 8.3.8  重

複生成字串的函數REPEAT(s,n) 244 8.3.9  空格函數SPACE(n)和替換函數REPLACE(s,s1,s2) 245 8.3.10  比較字串大小的函數STRCMP(s1,s2) 245 8.3.11  獲取子串的函數SUBSTRING(s,n,len)和MID(s,n,len) 245 8.3.12  匹配子串開始位置的函數 246 8.3.13  字串逆序的函數REVERSE(s) 247 8.3.14  返回指定位置的字串的函數 247 8.3.15  返回指定字串位置的函數FIELD(s,s1,s2,…) 247 8.3.16  返回子串位置的函數FIND_IN_S

ET(s1,s2) 248 8.3.17  選取字串的函數MAKE_SET(x,s1,s2,…) 248 8.4  日期和時間函數 249 8.4.1  獲取當前日期的函數和獲取當前時間的函數 249 8.4.2  獲取當前日期和時間的函數 250 8.4.3  UNIX時間戳記函數 250 8.4.4  返回UTC日期的函數和返回UTC時間的函數 251 8.4.5  獲取月份的函數MONTH(date)和MONTHNAME(date) 251 8.4.6  獲取星期的函數DAYNAME(d)、DAYOFWEEK(d)和WEEKDAY(d) 252 8.4.7  獲取星期數的函數WEEK(d

)和WEEKOFYEAR(d) 253 8.4.8  獲取天數的函數DAYOFYEAR(d)和DAYOFMONTH(d) 254 8.4.9  獲取年份、季度、小時、分鐘和秒鐘的函數 254 8.4.10  獲取日期的指定值的函數EXTRACT(type FROM date) 255 8.4.11  時間和秒鐘轉換的函數 255 8.4.12  計算日期和時間的函數 256 8.4.13  將日期和時間格式化的函數 259 8.5  條件判斷函數 262 8.5.1  IF(expr,v1,v2)函數 262 8.5.2  IFNULL(v1,v2)函數 262 8.5.3  CASE函數 2

63 8.6  系統資訊函數 264 8.6.1  獲取MySQL版本號、連接數和資料庫名的函數 264 8.6.2  獲取用戶名的函數 266 8.6.3  獲取字串的字元集和排序方式的函數 266 8.6.4  獲取最後一個自動生成的ID值的函數 267 8.7  MySQL 8.0的新特性1——加密函數 268 8.7.1  加密函數MD5(str) 269 8.7.2  加密函數SHA(str) 269 8.7.3  加密函數SHA2(str, hash_length) 269 8.8  MySQL 8.0的新特性2——視窗函數 270 8.9  綜合案例——MySQL函數的使用 27

1 8.10  專家解惑 274 8.11  經典習題 275 第9章  存儲過程和函數 277 9.1  創建存儲過程和函數 277 9.1.1  創建存儲過程 278 9.1.2  創建存儲函數 280 9.1.3  變數的使用 281 9.1.4  定義條件和處理常式 282 9.1.5  游標的使用 285 9.1.6  流程控制的使用 286 9.2  調用存儲過程和函數 291 9.2.1  調用存儲過程 291 9.2.2  調用存儲函數 292 9.3  查看存儲過程和函數 292 9.3.1  使用SHOW STATUS語句查看存儲過程和函數的狀態 293 9.3.2  使

用SHOW CREATE語句查看存儲過程和函數的定義 293 9.3.3  從information_schema.Routines表中查看存儲過程和函數的資訊 294 9.4  修改存儲過程和函數 295 9.5  刪除存儲過程和函數 297 9.6  MySQL 8.0的新特性——全域變數的持久化 298 9.7  綜合案例——創建存儲過程和函數 299 9.8  專家解惑 302 9.9  經典習題 302 第10章  MySQL觸發器 303 10.1  創建觸發器 303 10.1.1  創建只有一個執行語句的觸發器 304 10.1.2  創建有多個執行語句的觸發器 304 10

.2  查看觸發器 307 10.2.1  使用SHOW TRIGGERS語句查看觸發器資訊 307 10.2.2  在triggers表中查看觸發器信息 309 10.3  觸發器的使用 310 10.4  刪除觸發器 311 10.5  綜合案例——觸發器的使用 312 10.6  專家解惑 314 10.7  經典習題 314 第11章  MySQL許可權與安全管理 315 11.1  許可權表 315 11.1.1  user表 315 11.1.2  db表 318 11.1.3  tables_priv表和columns_priv表 319 11.1.4  procs_priv表

320 11.2  帳戶管理 320 11.2.1  登錄和退出MySQL伺服器 321 11.2.2  新建普通用戶 322 11.2.3  刪除普通用戶 324 11.2.4  root使用者修改自己的密碼 325 11.2.5  root使用者修改普通使用者密碼 326 11.3  許可權管理 327 11.3.1  MySQL的各種許可權 327 11.3.2  授權 329 11.3.3  收回許可權 331 11.3.4  查看許可權 332 11.4  存取控制 333 11.4.1  連接核實階段 333 11.4.2  請求核實階段 333 11.5  提升安全性 334

11.5.1  AES 256加密 334 11.5.2  密碼到期更換策略 336 11.5.3  安全模式安裝 338 11.6  MySQL 8.0的新特性——管理角色 338 11.7  綜合案例——綜合管理用戶許可權 339 11.8  專家解惑 342 11.9  經典習題 342 第12章  資料備份與恢復 344 12.1  資料備份 344 12.1.1  使用MySQLdump命令備份 344 12.1.2  直接複製整個資料庫目錄 350 12.1.3  使用MySQLhotcopy工具快速備份 351 12.2  資料恢復 351 12.2.1  使用MySQL命令恢

復 351 12.2.2  直接複製到資料庫目錄 352 12.2.3  MySQLhotcopy快速恢復 353 12.3  資料庫遷移 353 12.3.1  相同版本的MySQL資料庫之間的遷移 353 12.3.2  不同版本的MySQL資料庫之間的遷移 354 12.3.3  不同資料庫之間的遷移 354 12.4  表的匯出和導入 354 12.4.1  使用SELECTI…NTO OUTFILE匯出文字檔 355 12.4.2  使用MySQLdump命令匯出文字檔 359 12.4.3  使用MySQL命令匯出文字檔 361 12.4.4  使用LOAD DATA INFILE

方式導入文字檔 364 12.4.5  使用MySQLimport命令導入文字檔 367 12.5  綜合案例——資料的備份與恢復 368 12.6  專家解惑 372 12.7  經典習題 373 第13章  MySQL日誌 374 13.1  日誌簡介 374 13.2  二進位日誌 375 13.2.1  啟動和設置二進位日誌 375 13.2.2  查看二進位日誌 376 13.2.3  刪除二進位日誌 378 13.2.4  使用二進位日誌恢復資料庫 380 13.2.5  暫時停止二進位日誌功能 380 13.3  錯誤日誌 381 13.3.1  啟動和設置錯誤日誌 381 1

3.3.2  查看錯誤日誌 381 13.3.3  刪除錯誤日誌 382 13.4  通用查詢日誌 383 13.4.1  啟動通用查詢日誌 383 13.4.2  查看通用查詢日誌 383 13.4.3  刪除通用查詢日誌 384 13.5  慢查詢日誌 384 13.5.1  啟動和設置慢查詢日誌 385 13.5.2  查看慢查詢日誌 385 13.5.3  刪除慢查詢日誌 386 13.6  MySQL 8.0的新特性——日誌分類更詳細 386 13.7  綜合案例——MySQL日誌的綜合管理 386 13.8  專家解惑 392 13.9  經典習題 393 第14章  性能優化

394 14.1  優化簡介 394 14.2  優化查詢 395 14.2.1  分析查詢語句 395 14.2.2  索引對查詢速度的影響 398 14.2.3  使用索引查詢 399 14.2.4  優化子查詢 402 14.3  優化資料庫結構 402 14.3.1  將欄位很多的表分解成多個表 403 14.3.2  增加中間表 404 14.3.3  增加冗餘欄位 405 14.3.4  優化插入記錄的速度 406 14.3.5  分析表、檢查表和優化表 407 14.4  優化MySQL伺服器 409 14.4.1  優化伺服器硬體 409 14.4.2  優化MySQL的參數

410 14.5  臨時表性能優化 411 14.6  伺服器語句超時處理 413 14.7  創建全域通用表空間 414 14.8  MySQL 8.0的新特性1——支援不可見索引 414 14.9  MySQL 8.0的新特性2——增加資源組 416 14.10  綜合案例——全面優化MySQL伺服器 418 14.11  專家解惑 420 14.12  經典習題 421 第15章  綜合專案1——論壇管理系統資料庫設計 422 15.1  系統概述 422 15.2  系統功能 423 15.3  資料庫設計和實現 424 15.3.1  設計方案圖表 424 15.3.2  設計表

426 15.3.3  設計索引 429 15.3.4  設計檢視 430 15.3.5  設計觸發器 431 第16章  綜合專案2——新聞發佈系統資料庫設計 433 16.1  系統概述 433 16.2  系統功能 434 16.3  資料庫設計和實現 435 16.3.1  設計表 435 16.3.2  設計索引 439 16.3.3  設計檢視 440 16.3.4  設計觸發器 441

PHP+MySQL動態網站開發基礎教程

為了解決sql字串出現次數的問題,作者李穎 這樣論述:

全面講述了PHP程式設計語言的基本原理和技術。全書共分為16章,深入介紹了PHP語言的用途與PHP環境的搭建、PHP語法和函數、字串、陣列、正則運算式、PHP與Web頁面的交互、日期和時間、HTTP、Cookie和Session、資料庫程式設計、用PHP操作MySQL資料庫、檔操作、圖像技術、物件導向程式設計、PHP與JavaScript和Ajax、ThinkPHP等。 《PHP+MySQL動態網站開發基礎教程》內容豐富、結構合理、思路清晰、語言簡練流暢、示例翔實,主要面向PHP語言的初學者,適合作為各種Web應用開發培訓機構的培訓教材、高等院校的PHP語言教材,還可作為Web應用開發人員的

參考資料。 第1章 PHP入門 1 1.1 Web技術基礎 1 1.1.1 Web技術概述 1 1.1.2 主流的Web應用平臺 3 1.1.3 Web工作原理 3 1.1.4 常用的Web技術 4 1.2 PHP基礎知識 7 1.2.1 PHP概述 7 1.2.2 PHP的優勢 7 1.2.3 PHP的應用領域 8 1.2.4 常用的PHP開發工具 8 1.2.5 如何學好PHP 8 1.2.6 PHP學習資源 9 1.3 PHP開發環境的搭建 12 1.3.1 WAMP環境的搭建 12 1.3.2 LAMP環境的搭建 17 1.3.3 擴展庫 19 1.4 第一個PHP

程式 21 1.5 調試與錯誤處理 22 1.5.1 使用自帶的報錯功能 22 1.5.2 引進調試工具 23 1.5.3 調試業務邏輯錯誤 24 1.5.4 調試非功能性錯誤 24 1.6 本章小結 24 1.7 思考和練習 25 第2章 PHP語法和函數 26 2.1 PHP的語法風格 26 2.1.1 PHP標記 26 2.1.2 PHP注釋 27 2.2 PHP識別字與關鍵字 28 2.2.1 PHP識別字 28 2.2.2 關鍵字 28 2.3 PHP常量 29 2.3.1 常量的定義 29 2.3.2 預定義常量 30 2.4 PHP變數 32 2.4.1 變數的聲明和使用 32

2.4.2 PHP的資料類型 33 2.4.3 檢測變數的資料類型 34 2.4.4 可變變數 35 2.4.5 變數的作用域 35 2.5 變數類型的轉換 37 2.5.1 自動類型轉換 38 2.5.2 強制類型轉換 38 2.6 PHP運算子與運算式 39 2.6.1 運算子的類型 40 2.6.2 運算子的優先順序 44 2.7 流程控制語句 45 2.7.1 選擇結構 45 2.7.2 迴圈結構 49 2.8 函數 53 2.8.1 定義和調用函數 53 2.8.2 在函數間傳遞參數 54 2.8.3 從函數中返回值 55 2.8.4 變數函數 56 2.8.5 對函數的引用 56

2.8.6 取消引用 57 2.9 本章小結 58 2.10 思考和練習 58 第3章 字串 59 3.1 創建和訪問字串 59 3.1.1 創建字串 59 3.1.2 在字串中引用變數 60 3.1.3 自訂分隔符號 61 3.1.4 求字串的長度和單詞個數 62 3.1.5 訪問字串中的字元 62 3.2 搜索字串 63 3.2.1 用strstr()函數搜索字串 63 3.2.2 用strpos()和strrpos()函數定位字串位置 63 3.2.3 用substr_count()函數統計字串的出現次數 64 3.2.4 用strpbrk()函數搜索字元集 65 3.3 在字串中進行字

元替換 65 3.3.1 用str_replace()函數替換 全部搜索字串 65 3.3.2 用substr_replace()替換字串的部分內容 65 3.3.3 用strtr()函數變換字元 66 3.4 格式化字串 66 3.4.1 通用的格式化函數printf()和sprintf() 66 3.4.2 刪除空白符的函數trim()、ltrim()和rtrim() 70 3.4.3 填補字元串函數str_pad() 71 3.4.4 自動換行函數wordwrap() 71 3.4.5 格式化數值函數number_format() 72 3.5 字母大小寫轉換 73 3.6 本章小結 7

4 3.7 思考和練習 74 第4章 陣列 75 4.1 陣列概述 75 4.2 陣列的創建與訪問 76 4.2.1 創建陣列 76 4.2.2 訪問陣列的元素 76 4.2.3 修改元素值 77 4.2.4 新增陣列元素 77 4.2.5 輸出所有陣列元素 78 4.2.6 切割陣列 79 4.2.7 統計陣列中元素的個數 80 4.2.8 逐個訪問陣列的元素 80 4.3 用foreach遍歷陣列 83 4.3.1 用foreach遍歷陣列的每個值 83 4.3.2 用foreach遍歷陣列的鍵和值 83 4.3.3 用foreach遍歷修改陣列元素的值 84 4.4 多維陣列 85 4.

4.1 創建多維陣列 85 4.4.2 訪問多維陣列的元素 86 4.4.3 多維陣列的遍歷 86 4.5 陣列的操作 87 4.5.1 陣列排序 88 4.5.2 添加和刪除陣列元素 92 4.5.3 合併陣列 96 4.5.4 陣列與字串之間的轉換 97 4.5.5 把陣列轉換為變數清單 98 4.6 本章小結 99 4.7 思考和練習 99 第5章 規則運算式 101 5.1 什麼是規則運算式 101 5.1.1 規則運算式的概念 101 5.1.2 規則運算式的使用場景 102 5.2 規則運算式的語法規則 103 5.2.1 行定位符(^和$) 103 5.2.2 單詞定界符(、B

) 103 5.2.3 字元類([]) 103 5.2.4 選擇字元(|) 104 5.2.5 連字號(-) 104 5.2.6 排除字元([^]) 104 5.2.7 限定詞(?*+{n,m}) 104 5.2.8 點字元(.) 105 5.2.9 轉義字元() 105 5.2.10 反斜線() 106 5.2.11 圓括號字元(()) 107 5.2.12 反向引用 107 5.3 PHP中的模式匹配 107 5.4 規則運算式的使用 108 5.4.1 匹配字面字元 108 5.4.2 用字元類匹配字元類型 109 5.4.3 多次匹配同一字元 110 5.4.4 貪婪匹配法和非貪婪匹配

法 110 5.4.5 用子模式分組模式 110 5.4.6 引用前面的子模式匹配串 111 5.4.7 匹配多個模式 111 5.5 用preg_match_all()函數實現多次匹配 111 5.6 用preg_grep()函數搜索陣列 115 5.7 文本替換 116 5.7.1 用preg_replace()替換文本 116 5.7.2 用preg_replace_callback()替換文本 117 5.8 本章小結 118 5.9 思考和練習 118 第6章 PHP與Web頁面的交互 119 6.1 表單 120 6.1.1 創建表單 120 6.1.2 表單元素 120 6.2

將表單保存為HTML檔 123 6.3 獲取表單數據的兩種方法 125 6.3.1 通過POST方式提交表單 125 6.3.2 通過GET方式提交表單 125 6.4 PHP參數傳遞的常用方法 126 6.4.1 通過$_POST[]接收表單數據 126 6.4.2 通過$_GET[]接收表單數據 126 6.5 在網頁中嵌入PHP腳本 127 6.5.1 在HTML標記中添加PHP腳本 127 6.5.2 對表單元素的value屬性進行賦值 127 6.6 在PHP中獲取表單數據 127 6.6.1 獲取基本表單元素的值 128 6.6.2 獲取選項按鈕的值 129 6.6.3 獲取核取方

塊的值 130 6.6.4 獲取下拉式清單方塊/菜單清單方塊的值 130 6.6.5 獲取文件域的值 131 6.7 對URL傳遞的參數進行編碼和解碼 132 6.7.1 對URL傳遞的參數進行編碼 132 6.7.2 對URL傳遞的參數進行解碼 133 6.8 Web伺服器端的其他資料獲取方法 134 6.8.1 預定義變數$_REQUEST 134 6.8.2 預定義變數$_SERVER 134 6.9 文件上傳 136 6.9.1 配置php.ini以實現PHP檔上傳功能 136 6.9.2 檔上傳函數 137 6.9.3 多文件上傳 139 6.10 本章小結 140 6.11 思考和

練習 140 第7章 日期和時間、HTTP 141 7.1 日期和時間的處理 141 7.1.1 時間戳記 141 7.1.2 獲取當前日期和時間 142 7.1.3 創建時間戳記 142 7.1.4 轉換時間戳記 144 7.1.5 格式化日期字串 146 7.1.6 檢查日期值 148 7.1.7 毫秒的使用 148 7.1.8 DataTime 150 7.2 HTTP的使用 152 7.2.1 HTTP請求 152 7.2.2 HTTP回應 153 7.2.3 修改HTTP回應方式 155 7.3 本章小結 156 7.4 思考和練習 156 第8章 Cookie和Session 15

7 8.1 管理Cookie 157 8.1.1 瞭解Cookie 157 8.1.2 創建Cookie 159 8.1.3 讀取Cookie 159 8.1.4 刪除Cookie 160 8.1.5 Cookie的生命週期 161 8.2 管理Session 161 8.2.1 瞭解Session 161 8.2.2 創建Session 162 8.2.3 設置Session的有效時間 163 8.2.4 通過Session對用戶操作許可權進行判斷 164 8.2.5 刪除和銷毀Session 167 8.2.6 Session和Cookie的區別 168 8.2.7 Session和Coo

kie的應用 169 8.3 Session的高級應用 169 8.3.1 Session暫存檔案 169 8.3.2 Session緩存 169 8.3.3 Session自動回收 170 8.3.4 php.ini中的Session配置 171 8.4 本章小結 172 8.5 思考和練習 173 第9章 資料庫程式設計 174 9.1 MySQL簡介 174 9.1.1 用戶端/伺服器(Client/Server)軟體 174 9.1.2 資料庫常見術語 175 9.2 MySQL的啟動與連接 176 9.2.1 啟動MySQL服務 176 9.2.2 連接和斷開MySQL資料庫 178

9.2.3 配置Path環境變數 178 9.3 操作MySQL資料庫 179 9.3.1 創建和查看資料庫 180 9.3.2 刪除資料庫 181 9.3.3 選擇資料庫 181 9.3.4 綜合實例——資料庫的創建和刪除 181 9.4 操作資料表 184 9.4.1 創建資料表 184 9.4.2 查看表結構 186 9.4.3 修改表結構 187 9.4.4 重命名資料表 187 9.4.5 刪除資料表 187 9.5 資料記錄的更新操作 188 9.5.1 添加資料記錄 188 9.5.2 查詢資料記錄 188 9.5.3 修改資料記錄 189 9.5.4 刪除資料記錄 189 9

.6 MySQL資料庫的備份與還原 190 9.6.1 使用MYSQLDUMP命令備份資料庫 190 9.6.2 使用mysql命令還原資料庫 190 9.7 本章小結 191 9.8 思考和練習 191 第10章 用PHP操作MySQL資料庫 192 10.1 PHP訪問MySQL資料庫的基本步驟 192 10.2 PHP操作MySQL資料庫的 方法 194 10.2.1 連接MySQL伺服器 194 10.2.2 選擇MySQL資料庫 195 10.2.3 執行SQL語句 196 10.2.4 mysql_fetch_array()函數 197 10.2.5 mysql_fetch_obj

ect()函數 199 10.2.6 mysql_fetch_row()函數 199 10.2.7 mysql_num_rows()函數 200 10.2.8 釋放資源 201 10.2.9 關閉連接 201 10.3 PHP操作資料庫 202 10.3.1 PHP操作資料庫 202 10.3.2 動態添加使用者資訊 203 10.3.3 查詢資料資訊 205 10.3.4 修改資料 206 10.3.5 刪除資料 209 10.4 本章小結 210 10.5 思考和練習 210 第11章 檔操作 211 11.1 檔與目錄基礎 211 11.2 獲取檔的資訊 212 11.2.1 獲取檔的時

間屬性 212 11.2.2 從路徑獲取檔案名 212 11.3 打開和關閉文件 213 11.3.1 用fopen()打開文件 213 11.3.2 用fclose()關閉文件 214 11.4 文件的讀寫 214 11.4.1 讀寫字串 215 11.4.2 檔末尾的測試 217 11.4.3 一次讀取一行內容 218 11.4.4 讀取CSV文件 218 11.4.5 讀取和寫入整個文件 219 11.4.6 隨機存取檔資料 221 11.5 文件的許可權 222 11.5.1 改變檔的許可權 222 11.5.2 檢查檔許可權 223 11.6 檔的複製、重命名和刪除 223 11.7

目錄 224 11.7.1 其他目錄函數 225 11.7.2 目錄物件 227 11.7.3 區分檔和目錄 227 11.8 本章小結 229 11.9 思考和練習 229 第12章 圖像技術 230 12.1 電腦圖形基礎 230 12.1.1 色彩原理 230 12.1.2 坐標系 231 12.1.3 圖像類型 231 12.2 使用GD庫 232 12.2.1 GD&PHP可以處理的檔案類型 232 12.2.2 在PHP中啟用GD庫 232 12.3 創建圖像 233 12.3.1 新建圖像 234 12.3.2 顏色分配 234 12.3.3 輸出圖像 235 12.3.4 在

圖像上進行繪製 236 12.4 處理圖像 241 12.4.1 打開圖像 241 12.4.2 添加浮水印 242 12.4.3 製作縮略圖 245 12.4.4 添加標準化文本 246 12.4.5 使用TrueType字體 247 12.5 本章小結 249 12.6 思考和練習 249 第13章 物件導向程式設計 250 13.1 物件導向程式設計介紹 250 13.2 創建類和對象 252 13.2.1 創建類 252 13.2.2 類的成員 252 13.2.3 產生實體類 254 13.3 創建和使用屬性 255 13.3.1 聲明屬性 255 13.3.2 屬性的可見性 255

13.3.3 訪問屬性 256 13.3.4 靜態屬性 257 13.3.5 類常量 257 13.4 方法 258 13.4.1 創建方法 258 13.4.2 方法的可見性 258 13.4.3 方法的調用 258 13.4.4 方法的參數和返回值 259 13.4.5 在方法中訪問物件的屬性 259 13.4.6 靜態方法 261 13.5 用__get()、__set()和__call()重載對象 261 13.5.1 用__get()和__set()方法重載屬性訪問 262 13.5.2 用__call()重載方法調用 263 13.5.3 其他重載方法 265 13.6 繼承與介

面 266 13.6.1 重載父類的方法 268 13.6.2 保留父類的功能 270 13.6.3 用final類和方法阻止繼承和重載 270 13.6.4 抽象類別和抽象方法 271 13.6.5 介面 273 13.7 自動載入類檔 276 13.8 序列化類物件 276 13.9 判斷一個物件所屬的類 278 13.10 本章小結 279 13.11 思考和練習 280 第14章 PHP與JavaScript和Ajax 281 14.1 瞭解JavaScript 281 14.1.1 什麼是JavaScript 281 14.1.2 JavaScript的功能 282 14.2 Jav

aScript語言基礎 282 14.2.1 JavaScript資料類型 282 14.2.2 JavaScript變數 283 14.2.3 JavaScript注釋 284 14.3 JavaScript流程控制語句 285 14.3.1 條件陳述式 285 14.3.2 迴圈語句 288 14.3.3 跳躍陳述式 290 14.4 JavaScript事件 291 14.5 調用JavaScript腳本 291 14.5.1 在HTML中嵌入JavaScript腳本 291 14.5.2 應用JavaScript事件調用自訂函數 292 14.5.3 在PHP動態網頁中引用JS文件 2

92 14.6 在PHP中調用JavaScript 293 14.6.1 使用JavaScript腳本驗證表單元素是否為空 293 14.6.2 使用JavaScript腳本製作二級導航功能表 294 14.6.3 使用JavaScript腳本控制文本域和核取方塊 297 14.7 Ajax技術 298 14.7.1 Ajax的概念 298 14.7.2 Ajax的開發模式 298 14.7.3 Ajax的優點 299 14.7.4 XMLHttpRequest 300 14.7.5 在Ajax開發過程中需要注意的問題 302 14.7.6 用戶重名檢測 303 14.8 本章小結 305 1

4.9 思考和練習 305 第15章 ThinkPHP 306 15.1 ThinkPHP簡介 306 15.1.1 ThinkPHP的安裝 307 15.1.2 ThinkPHP概述 308 15.2 ThinkPHP架構 309 15.2.1 ThinkPHP的目錄結構 310 15.2.2 自動生成專案目錄 311 15.2.3 命名規範 314 15.2.4 資原始目錄 315 15.2.5 調試模式配置 315 15.2.6 控制器 315 15.2.7 視圖 318 15.2.8 數據讀取 319 15.3 URL和路由 320 15.3.1 URL訪問 320 15.3.2 參數

傳入 321 15.3.3 隱藏入口 322 15.3.4 定義路由 322 15.3.5 URL生成 323 15.4 請求與回應 323 15.4.1 請求對象 323 15.4.2 請求資訊 325 15.4.3 回應信息 326 15.5 資料庫操作 327 15.5.1 資料庫配置 327 15.5.2 原生查詢 327 15.5.3 鏈式操作 328 15.5.4 事務支援 328 15.6 模型和關聯 329 15.6.1 模型定義 329 15.6.2 基礎操作 330 15.7 視圖和範本 332 15.7.1 範本輸出 332 15.7.2 分頁輸出 333 15.7.3

渲染內容 334 15.8 本章小結 334 15.9 思考和練習 335 第16章 綜合實例 336 16.1 網站開發流程 336 16.1.1 確定建站目標 336 16.1.2 進行需求分析 336 16.1.3 繪製網站原型 337 16.1.4 系統整理所需資料 337 16.1.5 與網站設計美工確定佈局和風格 337 16.1.6 程式師完成網站功能實現 337 16.1.7 網站上線測試 337 16.1.8 網站推廣 337 16.2 留言板 338 16.2.1 留言板製作預備知識 338 16.2.2 留言板功能需求分析 338 16.2.3 留言板資料庫表設計 339

16.2.4 留言資訊的讀取展示 339 16.2.5 留言表單及留言處理 341 16.2.6 後臺管理登錄 344 16.2.7 PHP 留言板系統後臺管理 345 16.2.8 後臺管理回復及留言刪除處理 346 16.3 個人博客 347 16.3.1 功能闡述 347 16.3.2 功能結構 348 16.3.3 系統預覽 348 16.3.4 資料庫設計 349 16.3.5 資料表設計 349 16.3.6 連接資料庫 351 16.3.7 自動生成專案目錄 351 16.3.8 控制器的設置 352 16.3.9 視圖設置 355 16.3.10 後臺管理程式架構分析 360

16.3.11 資料模型和資料校驗的設計 362 16.4 本章小結 365 16.5 思考和練習 365 參考文獻 367