前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL replace用法简介

MySQL replace用法简介

作者头像
MySQL轻松学
发布2018-03-09 14:20:27
3.9K0
发布2018-03-09 14:20:27
举报
文章被收录于专栏:MYSQL轻松学

今天在工作的过程中碰到一个问题,要把数据库中某个列的所有值中含有"ceshi.test.com"的字符去掉,本来可以写个脚本,把所有的值都取出再导入进行处理,但是那样就效率非常低了,想到看试下能不能直接在MySQL中用SQL语句直接来处理,就想到mysql的replace函数。

mysql replace用法 1. replace into

代码语言:javascript
复制
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)

UPDATE 表名 SET 字段名= REPLACE( 字段名, '替换前关键字', '替换后关键字');

如下:

replace用法举例:

应用场景:

游戏数据库新服初始化没有更改组号id,开服后用户id全为初始化组号。

导致问题:

可能导致合服时出现重复id。

解决方案:

修改组号,因为组号为id前三位,所以只需把前三位替换正确的组号即可。

操作步骤:

  1. 查出都有哪些表有id字段: select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME frominformation_schema.COLUMNS where COLUMN_NAME='id';
  2. 对前几位关键字替换方法: UPDATE 表名 SET 字段名= REPLACE( 替换前的字段, '替换前关键字', '替换后关键字' ) WHERE 字段名 REGEXP "替换前的字段值";
  3. 批量操作: update test.test_1 setid=REPLACE(id,10100,10700); update test.test_2 setid=REPLACE(id,10100,10700); update test.test_3 setid=REPLACE(id,10100,10700);

验证测试:

数据库中检查,通知研发、测试验证。


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-09-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MYSQL轻松学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档