欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Mysql replace替换用法

程序员文章站 2022-07-11 08:26:31
...

Mysql replace替换用法


replace(string_expression, 
string_pattern, 
string_replacement)

解释:
string_expression 要搜索的字符串表达式。
string_pattern 是要查找的子字符串。
string_replacement 替换字符串。

翻译:
replace(String,from_str,to_str)
即:将String中所有出现的from_str替换为to_str。

例子:

-- 创建 并 插入数据
create table test_re
(
 id int(5) not null auto_increment,
 name varchar(10) default 'join',
 address varchar(30) default 'china',
 primary key (id)
);
 
insert into test_re(name,address) values('jack','uk');
insert into test_re(name,address) values('mary','us');
insert into test_re(name,address) values('bob','jap');
select * from test_re;

±—±-----±--------+
| id | name | address |
±—±-----±--------+
| 1 | jack | uk |
| 2 | mary | us |
| 3 | bob | jap |
±—±-----±--------+

-- 查询替换
-- 将address字段中的字符u替换为字符串make
select *,replace(address,'u','make') as r from test_re;

±—±-----±--------±------+
| id | name | address | rep |
±—±-----±--------±------+
| 1 | jack | uk | makek |
| 2 | mary | us | makes |
| 3 | bob | jap | jap |
±—±-----±--------±------+

--更新替换
--将id为1那行数据的address字段中的字符u替换为字符串make
update test_re set 
address=replace(address,'u','make') 
where id=1;

±—±-----±--------+
| id | name | address |
±—±-----±--------+
| 1 | jack | makek |
| 2 | mary | us |
| 3 | bob | jap |
±—±-----±--------+

-- 插入替换
-- 将id=3的name字段修改为david
replace into test_re values(3,'david','jap');

±—±------±--------+
| id | name | address |
±—±------±--------+
| 1 | jack | makek |
| 2 | mary | us |
| 3 | david | jap |
±—±------±--------+
replace into在向表中插入数据,如果原表中没有id这条数据,就会作为新数据被插入,相当于insert into;
如果原表中有id这行数据就做替换,相当于update作用,对于没有指定的字段会以默认值插入。

相关标签: Mysql