雷速体育比分直:

您的位置:雷速体育答题测试答案 > MYSQL學習 > mysql里面怎么使用正則表達式replace、regexp

mysql里面怎么使用正則表達式replace、regexp

時間:2015-04-28 10:56:50  來源:免費模板網 作者:風雪 閱讀次數 tagsmysql正則

  在提取數據的時候,在程序里面可以處理字符串,在mysql里面也是可以處理匹配字符串的,在javascript里面也是一樣,都可以進行匹配字符串,下面介紹怎么在mysql使用正則表達式

  可能很多朋友在使用replace時只是簡單的替換字符了,replace不但可以替換字符還可以直接在里面使用正則表達式來替換了,下面我們一起來看看具體一些關于replace正則替換字符的用法吧.

mysql字段值替換具體做法如下:

update `table_hospital` set service=replace(service,"<a%</font></a>",'')<br type="_moz">

可以限制ID,范圍,具體內容自己發揮想象,mysql數據庫中replace、regexp的用法,主要是通過sql語句實現數據的替換.

mysql replace用法 

1.replace into,代碼如下:

replace into table (id,name) values('1′,'aa'),('2′,'bb') 

此語句的作用是向表table中插入兩條記錄,如果主鍵id為1或2不存在,就相當于如下代碼:

insert into table (id,name) values('1′,'aa'),('2′,'bb') 

如果存在相同的值則不會插入數據.

2.replace(object,search,replace) 把object中出現search的全部替換為replace,代碼如下:

select replace('www.phpfensi.com','w','Ww')—>WwWwWw.phpfensi.com 

例:把表table中的name字段中的aa替換為bb 

update table set name=replace(name,'aa','bb') 

由MySQL提供的模式匹配的其它類型是使用擴展正則表達式,當你對這類模式進行匹配測試時,使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,它們是同義詞).

擴展正則表達式的一些字符是:

· ‘.'匹配任何單個的字符。 

· 字符類“[...]”匹配在方括號內的任何字符。例如,“[abc]”匹配“a”、“b”或“c”。為了命名字符的范圍,使用一個“-”。“[a-z]”匹配任何字母,而“[0-9]”匹配任何數字。 

· “ * ”匹配零個或多個在它前面的字符。例如,“x*”匹配任何數量的“x”字符,“[0-9]*”匹配任何數量的數字,而“.*”匹配任何數量的任何字符。

如果REGEXP模式與被測試值的任何地方匹配,模式就匹配(這不同于LIKE模式匹配,只有與整個值匹配,模式才匹配).

為了定位一個模式以便它必須匹配被測試值的開始或結尾,在模式開始處使用“^”或在模式的結尾用“$”.

為了說明擴展正則表達式如何工作,下面使用REGEXP重寫上面所示的LIKE查詢,為了找出以“b”開頭的名字,使用“^”匹配名字的開始,代碼如下:

  1. mysql> SELECT * FROM pet WHERE name REGEXP ‘^b';  
  2. +——–+——–+———+——+————+————+  
  3. | name| owner | species | sex | birth | death |  
  4. +——–+——–+———+——+————+————+  
  5. | Buffy | Harold | dog| f | 1989-05-13 | NULL|  
  6. | Bowser | Diane | dog| m | 1989-08-31 | 1995-07-29 |  
  7. +——–+——–+———+——+————+————+   

如果你想強制使REGEXP比較區分大小寫,使用BINARY關鍵字使其中一個字符串變為二進制字符串,該查詢只匹配名稱首字母的小寫‘b',代碼如下:

mysql> SELECT * FROM pet WHERE name REGEXP BINARY ‘^b'; 

為了找出以“fy”結尾的名字,使用“$”匹配名字的結尾:

  1. mysql> SELECT * FROM pet WHERE name REGEXP ‘fy$';  
  2. +——–+——–+———+——+————+——-+  
  3. | name| owner | species | sex | birth | death |  
  4. +——–+——–+———+——+————+——-+  
  5. | Fluffy | Harold | cat| f | 1993-02-04 | NULL |  
  6. | Buffy | Harold | dog| f | 1989-05-13 | NULL |  
  7. +——–+——–+———+——+————+——-+  

為了找出包含一個“w”的名字,使用以下查詢:

  1. mysql> SELECT * FROM pet WHERE name REGEXP ‘w';  
  2. +———-+——-+———+——+————+————+  
  3. | name| owner | species | sex | birth | death |  
  4. +———-+——-+———+——+————+————+  
  5. | Claws | Gwen | cat| m | 1994-03-17 | NULL|  
  6. | Bowser| Diane | dog| m | 1989-08-31 | 1995-07-29 |  
  7. | Whistler | Gwen |

本文地址://www.384142.live/mysql/2015/0428/1566.html

猜你喜歡
欄目推薦
模板推薦

Copyright:雷速体育答题测试答案 www.384142.live 免費模板網 All Rights Reserved 雷速体育答题测试答案   遼公網安備 21010602000376號  遼公網安備:42900402000182號

免責聲明:本站部分資源來自互聯網收集,版權歸原創者所有,如果侵犯了你的權益,我們會及時刪除侵權內容,聯系QQ:1615187561 謝謝合作!

{ganrao} 闲来长沙麻将 2020香港现场开吗 四川麻将血战到底下载四人 聚享游怎样一天赚300 天天爱捕鱼官方网站 好玩的棋牌网络游戏 捕鱼达人3吾爱破解 江西多乐彩遗漏 德甲复赛 嶶信团队赚钱是真是假 陕西麻将游戏 7码应该怎么玩 荣耀棋牌下载最新版 捕鱼大师官网_捕鱼大师 幸运赛车走势图 扣点点麻将技巧