images\cherry_red.png1 MySQL学习笔记
      images\cherry_blue.png1.1 LeetCode每日一题
         images\cherry_orange.png1.1.1 183. 从不订购的客户
      images\cherry_blue.png1.2 数据库特性
      images\cherry_blue.png1.3 正则表达式
         images\cherry_orange.png1.3.1 MySQL正则表达式
         images\cherry_orange.png1.3.2 Hive正则表达式
      images\cherry_blue.png1.4 MySQL基础操作语句
         images\cherry_orange.png1.4.1 增加
            images\cherry_cyan.png1.4.1.1 create
            images\cherry_cyan.png1.4.1.2 insert
         images\cherry_orange.png1.4.2 删除
            images\cherry_cyan.png1.4.2.1 drop
            images\cherry_cyan.png1.4.2.2 delete
         images\cherry_orange.png1.4.3 查询
         images\cherry_orange.png1.4.4 修改
            images\cherry_cyan.png1.4.4.1 update
            images\cherry_cyan.png1.4.4.2 alter
         images\cherry_orange.png1.4.5 基础操作命令
            images\cherry_cyan.png1.4.5.1 union
            images\cherry_cyan.png1.4.5.2 like
         images\cherry_orange.png1.4.6 复制表
         images\cherry_orange.png1.4.7 replace
      images\cherry_blue.png1.5 MySQL数据误删恢复
         images\cherry_orange.png1.5.1 docker远程连接MySQL报错
      images\cherry_blue.png1.6 MySQL主从之间的关系
         images\cherry_orange.png1.6.1 Binlog
      images\cherry_blue.png1.7 MySQL基本操作命令
         images\cherry_orange.png1.7.1 权限授予
         images\cherry_orange.png1.7.2 数据备份
         images\cherry_orange.png1.7.3 主从配置
         images\cherry_orange.png1.7.4 主从(主主)互用配置
         images\cherry_orange.png1.7.5 拉链表用途
            images\cherry_cyan.png1.7.5.1 拉链表
         images\cherry_orange.png1.7.6 字段类型转换
      images\cherry_blue.png1.8 Keepalived+MySQL 高可用架构
      images\cherry_blue.png1.9 HAproxy+MySQL 负载均衡
      images\cherry_blue.png1.10 Mycat+ MySQL 读写分离(高可用)优化
         images\cherry_orange.png1.10.1 Mycat配置文件详解
         images\cherry_orange.png1.10.2 安装配置Mycat
         images\cherry_orange.png1.10.3 MySQL分库操作
         images\cherry_orange.png1.10.4 Mycat测试实验
      images\cherry_blue.png1.11 MHA
         images\cherry_orange.png1.11.1 MHA初始化配置
      images\cherry_blue.png1.12 MySQL索引结构
      images\cherry_blue.png1.13 MySQL索引类型
      images\cherry_blue.png1.14 SQL执行计划(explain)
      images\cherry_blue.png1.15 SQL优化
      images\cherry_blue.png1.16 慢查询日志
      images\cherry_blue.png1.17 Druid监控
语法
REPLACE ( string_expression , string_pattern , string_replacement )

参数
string_expression 要搜索的字符串表达式。string_expression 可以是字符或二进制数据类型。(要替换的字段)
string_pattern 是要查找的子字符串。string_pattern 可以是字符或二进制数据类型。string_pattern 不能是空字符串 ('')。(查找的子字符串)
string_replacement 替换字符串。string_replacement 可以是字符或二进制数据类型。(替换的子字符串)

返回类型
如果其中的一个输入参数数据类型为 nvarchar,则返回 nvarchar;否则 REPLACE 返回 varchar。
如果任何一个参数为 NULL,则返回 NULL。

二、查询替换

2.1 将address字段里的 “区” 替换为 “呕” 显示,如下

select *,replace(address,'区','呕') AS rep
from test_tb
images\49-1.png



2.2 将address字段里的 “九” 替换为 “十” 显示,如下

select *,replace(address,'九','十') AS rep
from test_tb
where id in (4,6)
images\49-2.png

总结:联想到前面有讲过 使用IF(expr1,expr2,expr3) 及 CASE...WHEN...THEN...END 可以实现查询结果的别名显示,
        但区别是:这两者是将查询结果值做整体的别名显示,而replace则可以对查询结果的局部字符串做替换显示(输出)。


三、更新替换

3.1 将address字段里的 “东” 替换为 “西” ,如下
update test_tb set address=replace(address,'东','西') where id=2
images\49-3.png

总结:对字段中局部字符串做更新替换。
 
四、插入替换
4.1 将id=6的name字段值改为wokou
replace into test_tb VALUES(6,'wokou','新九州岛','日本')
images\49-4.png

总结:向表中“替换插入”一条数据,如果原表中没有id=6这条数据就作为新数据插入(相当于insert into作用);如果原表中有id=6这条数据就做替换(相当于update作用)。对于没有指定的字段以默认值插入。