MySQL的Replace函数都有哪些用法?本文分享一下:
1、replace 函数语法-查询操作
replace(String,from_str,to_str)
将String中所有出现的from_str替换为to_str,这里的from_str不支持正则匹配。
数据如下:
mysql> select * from a;
+----+-----------+
| id | name |
+----+-----------+
| 1 | ceshi-a |
| 2 | ceshi-b |
| 3 | ceshi-c |
+----+-----------+
3 rows in set (0.06 sec)
需求: 把name中所有 - 替换成 #
mysql> select id,replace(name,'-','#') from a;
+----+-----------------------+
| id | replace(name,'-','#') |
+----+-----------------------+
| 1 | ceshi#a |
| 2 | ceshi#b |
| 3 | ceshi#c |
+----+-----------------------+
3 rows in set (0.07 sec)
2、replace 函数语法-更新操作
需求: 把name中所有 - 替换成 =
mysql> update a set name = replace(name,'-','=');
Query OK, 3 rows affected (0.03 sec)
Rows matched: 3 Changed: 3 Warnings: 0
mysql> select * from a;
+----+-----------+
| id | name |
+----+-----------+
| 1 | ceshi=a |
| 2 | ceshi=b |
| 3 | ceshi=c |
+----+-----------+
3 rows in set (0.08 sec)
3、replace 函数语法-插入操作
如果我们想插入一条新记录,但如果记录已经存在,就先删除原记录,再插入新记录。
插入数据的表必须有主键或者是唯一索引,否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据。
mysql> replace into a (id,name) values (1,'ceshi');
Query OK, 2 rows affected (0.03 sec)
mysql> select * from a;
+----+------------+
| id | name |
+----+------------+
| 1 | ceshi |
| 2 | ceshi=b |
| 3 | ceshi=c |
+----+------------+
3 rows in set (0.06 sec)
1、文章版权归作者所有,未经允许请勿转载。
2、本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们邮箱:526009505@qq.com进行处理。
3、咨询请联系QQ:526009505
2、本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们邮箱:526009505@qq.com进行处理。
3、咨询请联系QQ:526009505
你可能也喜欢
- ♥ MYSQL5.7+的严格模式的相关介绍04/25
- ♥ 如何解决MySQL从5.7升级到8.0系统表导入错误的问题?07/15
- ♥ SQL LIKE 模糊查询09/03
- ♥ MYSQL常用命令04/11
- ♥ MySQL replace替换空格、Tab、回车等特殊字符的解决方法06/18
- ♥ MySQL语句汇总06/20