数据库 
首页 > 数据库 > 浏览文章

mysql替换表中的字符串的sql语句

(编辑:jimmy 日期: 2024/11/15 浏览:3 次 )

核心语句:

UPDATE `cdb_pms`
 SET `subject` = REPLACE(`subject`, 'Welcome to', '欢迎光临')


mysql替换字段里数据内容部分字符串

mysql替换表的字段里面内容,如例子:

mysql> select host,user from user  where user='testuser';
+-----------------------+----------+
| host                  | user     |
+-----------------------+----------+
| localhost.localdomain | testuser |
+-----------------------+----------+

update字段host的内容,把"main"改成"slave",用REPLACE

mysql> update user set host=REPLACE(host,'main','slave') where user='testuser';      
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select host,user from user  where user='testuser';                            
+------------------------+----------+
| host                   | user     |
+------------------------+----------+
| localhost.localdoslave | testuser |
+------------------------+----------+

由查询结果到,数据已经更新成功


因为服务器上安了一流拦截系统,所以dede的交替功能不好使.只能手动在phpadmin中SQL:
update dede_addonarticle  set body=replace(body ,'大法','方法') 

mysql替换表的字段里面内容,如例子:

mysql> select id,type from items limit 10;
+--------+--------+
| id     | type   |
+--------+--------+
|   0001 | 780000 |
|   0002 | 780000 |
|   0003 | 780000 |
|   0004 | 780000 |
|   0005 | 780000 |
| 150419 | 780000 |
| 150420 | 780000 |
| 150421 | 780000 |
| 150422 | 780000 |
| 150423 | 780000 |
+--------+--------+

把type字段中的“78”改成“79” 用replace函数
 

sql如下:

mysql> update items set type=replace(type,'79','78');

Query OK, 17536 rows affected (0.72 sec)
Rows matched: 17536  Changed: 17536  Warnings: 0
再查询:

mysql> select id,type from items limit 10;
+--------+--------+
| id     | type   |
+--------+--------+
|   0001 | 790000 |
|   0002 | 790000 |
|   0003 | 790000 |
|   0004 | 790000 |
|   0005 | 790000 |
| 150419 | 790000 |
| 150420 | 790000 |
| 150421 | 790000 |
| 150422 | 790000 |
| 150423 | 790000 |
+--------+--------+
10 rows in set (0.00 sec)

由查询结果到,数据已经更新成功

上一篇:linux下改良版本mysqldump来备份MYSQL数据库
下一篇:MySQL的Query Cache原理分析