MySQL replace函数我们经常用到,下面就为您详细介绍MySQL replace函数的用法,希望对您学习MySQL replace函数方面能有所启迪

mysql replace实例说明: 



UPDATE tb1 SET f1=REPLACE(f1, 'abc', 'def');  

REPLACE(str,from_str,to_str)

在字符串 str 中所有出现的字符串 from_str 均被 to_str替换,然后返回这个字符串 



这个函数用来批量替换数据中的非法关键字是很有用的!如下例子: 



例1:UPDATE BBSTopic SET tcontents = replace(replace(tcontents,'共产党','') ,'找死','') where tcontents like '%共产党%' or tcontents like '%找死%' 


例2:UPDATE typetable SET type_description=REPLACE(type_description,'360','http://www.jb51.net'); 



mysql replace用法

 



1.replace into 
 
replace into table (id,name) values('1','aa'),('2','bb')

此语句的作用是向表table中插入两条记录。如果主键id为1或2不存在 


就相当于 


insert into table (id,name) values('1','aa'),('2','bb')


如果存在相同的值则不会插入数据 



2.replace(object,search,replace)



把object中出现search的全部替换为replace 





例:把表table中的name字段中的aa替换为bb 



update table set name=replace(name,'aa','bb')


MySQL replace函数我们经常用到,下面就为您详细介绍MySQL replace函数的用法,希望对您学习MySQL replace函数方面能有所启迪。 



最近在研究CMS,在数据转换的时候需要用到mysql的MySQL replace函数,这里简单介绍一下。 



比如你要将表 tb1里面的 f1字段的abc替换为def 



UPDATE tb1 SET f1=REPLACE(f1, 'abc', 'def');  

REPLACE(str,from_str,to_str)

在字符串 str 中所有出现的字符串 from_str 均被 to_str替换,然后返回这个字符串: 


mysql> SELECT REPLACE('www.mysql.com', 'w', 'Ww');  

-> 'WwWwWw.mysql.com'

这个函数是多字节安全的。 



示例: 


UPDATE `dede_addonarticle` SET body = REPLACE ( body,


'</td>',  

'' );  

UPDATE `dede_addonarticle` SET body = REPLACE ( body,  

'</tr>',  

'' );  

UPDATE `dede_addonarticle` SET body = REPLACE ( body,  

'<tr>',  

'' );  

UPDATE `dede_archives` SET title= REPLACE ( title,  

'大洋新闻 - ',  

'' );  

UPDATE `dede_addonarticle` SET body = REPLACE ( body,  

'../../../../../../',  

'http://special.dayoo.com/meal/' );  


mysql replace


用法1.replace intoreplace into table (id,name) values(‘1‘,‘aa‘),(‘2‘,‘bb‘) 


此语句的作用是向表table中插入两条记录。 


2.replace(object, search,replace) 


把object中出现search的全部替换为replaceselect replace(‘www.jb51.net‘,‘w‘,‘Ww‘)--->WwW wWw.jb51.net 


例:把表table中的name字段中的 aa替换为bbupdate table set name=replace(name,‘aa‘,‘bb‘)

=============================================================================================

讨人喜欢的 MySQL replace into 用法(insert into 的增强版)

在向表中插入数据的时候,经常遇到这样的情况:1. 首先判断数据是否存在; 2. 如果不存在,则插入;3.如果存在,则更新。

在 SQL Server 中可以这样处理:

if not exists (select 1 from t where id = 1)
      insert into t(id, update_time) values(1, getdate())
   else
      update t set update_time = getdate() where id = 1

那么 MySQL 中如何实现这样的逻辑呢?别着急!MySQL 中有更简单的方法: replace into

replace into t(id, update_time) values(1, now());

replace into t(id, update_time) select 1, now();

replace into 跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中, 1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。 2. 否则,直接插入新数据。

要注意的是:插入数据的表必须有主键或者是唯一索引!否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据。

MySQL replace into 有三种形式:

1. replace into tbl_name(col_name, ...) values(...)
2. replace into tbl_name(col_name, ...) select ...
3. replace into tbl_name set col_name=value, ...

前两种形式用的多些。其中 “into” 关键字可以省略,不过最好加上 “into”,这样意思更加直观。另外,对于那些没有给予值的列,MySQL 将自动为这些列赋上默认值。