MySQL的Replace函数都有哪些用法,你是否都知晓呢?今天,让我带大家花几分钟时间来一起看一看,记得Mark!

目录

  • REPLACE语法
  • 操作实例
    • 使用场景1 -- (Query语句):
    • 使用场景2 -- (update语句):
    • 使用场景3 -- (插入或替换:REPLACE INTO)
  • 附、一张有故事的照片(五)

REPLACE语法

REPLACE(String,from_str,to_str)

即:将String中所有出现的from_str替换为to_str,这里的from_str不支持正则匹配。

操作实例

测试表数据如下:

mysql> select * from `LOL`;
+----+----------------+--------------+-------+
| id | hero_title     | hero_name    | price |
+----+----------------+--------------+-------+
|  1 | 刀锋之影       | 泰隆         |  6300 |
|  2 | 迅捷斥候       | 提莫         |  6300 |
|  3 | 光辉女郎AA     | 拉克丝       |  1350 |
|  4 | 发条A魔灵A     | 奥莉安娜     |  6300 |
|  5 | 至高之拳       | 李青         |  6300 |
|  6 | 无极剑圣       | 易           |   450 |
|  7 | 疾风剑豪       | 亚索         |  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 |
| 发条A魔灵A     | 奥莉安娜     |  6300 |
| 至高 - 拳      | 李青         |  6300 |
| 无极剑圣       | 易           |   450 |
| 疾风剑豪       | 亚索         |  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 | 发条魔灵     | 奥莉安娜     |  6300 |
|  5 | 至高之拳     | 李青         |  6300 |
|  6 | 无极剑圣     | 易           |   450 |
|  7 | 疾风剑豪     | 亚索         |  6300 |
+----+--------------+--------------+-------+
7 rows in set (0.00 sec)

使用场景3 – (插入或替换:REPLACE INTO)

  如果我们想插入一条新记录(INSERT),但如果记录已经存在,就先删除原记录,再插入新记录。

需求场景
  这张表存的每个客户最近一次交易订单信息,要求保证单个用户数据不重复录入,且执行效率最高,与数据库交互最少,支撑数据库的高可用。
  此时,可以使用"REPLACE INTO"语句,这样就不必先查询,再决定是否先删除再插入。

"REPLACE INTO"语句是基于唯一索引或主键来判断唯一(是否存在)的。
"REPLACE INTO"语句是基于唯一索引或主键来判断唯一(是否存在)的。
"REPLACE INTO"语句是基于唯一索引或主键来判断唯一(是否存在)的。

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

-- 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语句将插入新记录(首次充值),否则,当前username='chenhaha’的记录将被删除,然后再插入新记录。

  id不要给具体值,不然会影响SQL执行,业务有特殊需求除外。

附、一张有故事的照片(五)

看到这张照片,你的第一反应是什么?

网友评价:
这张照片,第一眼我就觉得仿佛看到一个历经风霜的老人,他似乎受过许多磨难,或许他也曾反抗过,可直到今日,身上的枷锁还不曾卸下,所以他开始释然,心灵的自由便是真的自由。

MySQL:replace函数的几种实用场景相关推荐

  1. mysql replace 效率,MySQL replace实用场景 MySQL实现replace函数的几种实用场景

    想了解MySQL实现replace函数的几种实用场景的相关内容吗,_陈哈哈在本文为您仔细讲解MySQL replace实用场景的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:MySQL,r ...

  2. mysql哪个皮肤好用_MySQL实现replace函数的几种实用场景

    MySQL实现replace函数的几种实用场景,语句,安娜,场景,无极,至高 MySQL实现replace函数的几种实用场景 易采站长站,站长之家为您整理了MySQL实现replace函数的几种实用场 ...

  3. mysql函数使用场景_MySQL实现replace函数的几种实用场景

    REPLACE语法 REPLACE(String,from_str,to_str) 即:将String中所有出现的from_str替换为to_str,这里的from_str不支持正则匹配. 操作实例 ...

  4. MySQL:replace函数的几种实用场景,一个回答引发热烈讨论

    | 7 | 疾风剑豪 | 亚索 | 6300 | ±-±---------------±-------------±------+ 7 rows in set (0.00 sec) []()使用场景1 ...

  5. MySQL:replace函数的几种实用场景,java框架技术课设

    mysql> select * from LOL; ±-±---------------±-------------±------+ | id | hero_title | hero_name ...

  6. MySQL Replace()函数

    转载自  MySQL Replace()函数 MySQL REPLACE字符串函数简介 MySQL为您提供了一个有用的字符串函数REPLACE(),它允许您用新的字符串替换表的列中的字符串. REPL ...

  7. [Mysql] REPLACE函数

    REPLACE函数可进行字符串替换操作 格式: REPLACE(str,from_str,to_str) 将字符串to_str替代字符串str中的字符串from_str,返回替换后的字符串str -- ...

  8. mysql REPLACE()函数替换包含反斜杆字段的问题

    REPLACE()函数替换包含反斜杆字段 话不多说 直接上菜 -- 查询包含反斜杠的字符串 https:\/\/mp.weixin.qq.com\/s\/7SA4E5UYChkxU0gk69HgWgU ...

  9. MySQL索引失效的几种常见场景

    前言 我们在使用MySQL查询数据的时候,总会遇见没有正确使用到索引的情况. 这里我们列举几种常见的,搜索条件使用了索引列却没有走索引的场景. (以下测试均在MySQL8.0.28中完成,且所有数据均 ...

最新文章

  1. 如何运行SpringBoot项目
  2. 理解Docker——深入引擎室
  3. 提前“剧透”能提高自监督学习性能吗?华为诺亚实验室说:不一定!
  4. 洛谷 - P4717 【模板】快速莫比乌斯/沃尔什变换 (FMT/FWT)
  5. defer 的前世今生
  6. S5PV210裸机之重定位
  7. 信息学奥赛C++语言: 素数个数
  8. react-native 框架升级 安卓第三方插件报错 Android resource linking failed
  9. websocket握手失败_WebSocket握手期间出错:意外的响应代码:500
  10. Windows Server 2008 R2 Tomcat 开机自启动
  11. C++11 double转化为string
  12. 从“如何设计用户超过1亿的应用”说起----数据库调优实战
  13. python 守护进程(daemon)on : 会打扮的装饰器
  14. VMware安装linux镜像
  15. 毛毛虫 (树形dp)
  16. [Ctsc2010]珠宝商 SAM+点分治+根号分治
  17. 清北学堂 2017-10-05
  18. matlab ukf,UKF(无迹卡尔曼滤波器)函数
  19. guess在Java中用法_guess的用法
  20. DropDownList 控件

热门文章

  1. 赵剑华2008北京奥运会搞笑语录
  2. 锤子和学姐的故事——面对爱情,你的勇气有多大?
  3. ruby include require load extend 的区别
  4. 使用wow.js让网页“动起来”
  5. 手游创业需要迈过的4道死亡关卡
  6. 我和我的CSDN高校俱乐部
  7. jQuery及css动画效果
  8. IOI 2017 Logo
  9. vue 使用d3.js加载 svg 并将svg转为file格式上传
  10. 微信浏览器强制刷新方法怎么清空缓存