最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL實現(xiàn)replace函數(shù)的幾種實用場景

 更新時間:2021年02月06日 10:03:28   作者:_陳哈哈  
這篇文章主要介紹了MySQL實現(xiàn)replace函數(shù)的幾種實用場景,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

REPLACE語法

REPLACE(String,from_str,to_str)

即:將String中所有出現(xiàn)的from_str替換為to_str,這里的from_str不支持正則匹配。

操作實例

測試表數(shù)據(jù)如下:

mysql> select * from `LOL`;
+----+----------------+--------------+-------+
| id | hero_title   | hero_name  | price |
+----+----------------+--------------+-------+
| 1 | 刀鋒之影    | 泰隆     | 6300 |
| 2 | 迅捷斥候    | 提莫     | 6300 |
| 3 | 光輝女郎AA   | 拉克絲    | 1350 |
| 4 | 發(fā)條A魔靈A   | 奧莉安娜   | 6300 |
| 5 | 至高之拳    | 李青     | 6300 |
| 6 | 無極劍圣    | 易      |  450 |
| 7 | 疾風(fēng)劍豪    | 亞索     | 6300 |
+----+----------------+--------------+-------+
7 rows in set (0.00 sec)

使用場景1 – (Query語句):

需求:把"hero_title"字段中所有的"之"換成" - "來展示,SQL如下:

SELECT REPLACE(hero_title,'之',' - ')as repl_title,hero_name,price from LOL;
mysql> SELECT REPLACE(hero_title,'之',' - ') as repl_title,hero_name,price from `LOL`;
+----------------+--------------+-------+
| repl_title   | hero_name  | price |
+----------------+--------------+-------+
| 刀鋒 - 影   | 泰隆     | 6300 |
| 迅捷斥候    | 提莫     | 6300 |
| 光輝女郎AA   | 拉克絲    | 1350 |
| 發(fā)條A魔靈A   | 奧莉安娜   | 6300 |
| 至高 - 拳   | 李青     | 6300 |
| 無極劍圣    | 易      |  450 |
| 疾風(fēng)劍豪    | 亞索     | 6300 |
+----------------+--------------+-------+
7 rows in set (0.00 sec)

使用場景2 – (update語句):

需求:把"hero_title"字段中所有的"A"去掉,SQL如下:

UPDATE LOL SET hero_title=REPLACE(hero_title,‘A','');

mysql> UPDATE `LOL` SET hero_title=REPLACE(hero_title,'A','');
Query OK, 2 rows affected (0.05 sec)
Rows matched: 7 Changed: 2 Warnings: 0
-- 去掉后在查詢:
+----+--------------+--------------+-------+
| id | hero_title  | hero_name  | price |
+----+--------------+--------------+-------+
| 1 | 刀鋒之影   | 泰隆     | 6300 |
| 2 | 迅捷斥候   | 提莫     | 6300 |
| 3 | 光輝女郎   | 拉克絲    | 1350 |
| 4 | 發(fā)條魔靈   | 奧莉安娜   | 6300 |
| 5 | 至高之拳   | 李青     | 6300 |
| 6 | 無極劍圣   | 易      |  450 |
| 7 | 疾風(fēng)劍豪   | 亞索     | 6300 |
+----+--------------+--------------+-------+
7 rows in set (0.00 sec)

使用場景3 – (插入或替換:REPLACE INTO)

如果我們想插入一條新記錄(INSERT),但如果記錄已經(jīng)存在,就先刪除原記錄,再插入新記錄。

需求場景:

這張表存的每個客戶最近一次交易訂單信息,要求保證單個用戶數(shù)據(jù)不重復(fù)錄入,且執(zhí)行效率最高,與數(shù)據(jù)庫交互最少,支撐數(shù)據(jù)庫的高可用。
此時,可以使用"REPLACE INTO"語句,這樣就不必先查詢,再決定是否先刪除再插入。

  • "REPLACE INTO"語句是基于唯一索引或主鍵來判斷唯一(是否存在)的。
  • "REPLACE INTO"語句是基于唯一索引或主鍵來判斷唯一(是否存在)的。
  • "REPLACE INTO"語句是基于唯一索引或主鍵來判斷唯一(是否存在)的。

注意事項:如下SQL所示,需要在username字段上建立唯一索引(Unique),transId設(shè)置自增即可。

-- 20點充值
REPLACE INTO last_transaction (transId,username,amount,trans_time,remark) 
  VALUES (null, 'chenhaha', 30, '2020-06-11 20:00:20', '會員充值');
 
-- 21點買皮膚
REPLACE INTO last_transaction (transId,username,amount,trans_time,remark) 
  VALUES (null, 'chenhaha', 100, '2020-06-11 21:00:00', '購買盲僧至高之拳皮膚');

 若username='chenhaha'的記錄不存在,REPLACE語句將插入新記錄(首次充值),否則,當(dāng)前username='chenhaha'的記錄將被刪除,然后再插入新記錄。

id不要給具體值,不然會影響SQL執(zhí)行,業(yè)務(wù)有特殊需求除外。

到此這篇關(guān)于MySQL實現(xiàn)replace函數(shù)的幾種實用場景的文章就介紹到這了,更多相關(guān)MySQL replace實用場景內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

肥乡县| 西贡区| 宁安市| 榆中县| 白玉县| 临泉县| 明光市| 准格尔旗| 罗源县| 安塞县| 太原市| 顺昌县| 永福县| 师宗县| 昆山市| 大厂| 富源县| 长乐市| 堆龙德庆县| 裕民县| 潜江市| 澎湖县| 屯门区| 吐鲁番市| 全椒县| 延边| 濮阳县| 达拉特旗| 连云港市| 龙口市| 牙克石市| 松江区| 屏东县| 邛崃市| 永城市| 武夷山市| 军事| 屯昌县| 图们市| 客服| 青冈县|