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作用,对于没有指定的字段会以默认值插入。