MySQL replace用法简介

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

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)

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);

验证测试:

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


原文发布于微信公众号 - MYSQL轻松学(learnmysql)

原文发表时间:2016-09-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏闻道于事

js登录滑动验证,不滑动无法登陆

js的判断这里是根据滑块的位置进行判断,应该是用一个flag判断 <%@ page language="java" contentType="text/html...

6818
来自专栏ASP.NETCore

ASP.NET Core 整合Autofac和Castle实现自动AOP拦截

除了ASP.NETCore自带的IOC容器外,我们还可以使用其他成熟的DI框架,如Autofac,StructureMap等(笔者只用过Unity,Ninjec...

674
来自专栏转载gongluck的CSDN博客

cocos2dx 打灰机

#include "GamePlane.h" #include "PlaneSprite.h" #include "BulletNode.h" #include...

5466
来自专栏大内老A

The .NET of Tomorrow

Ed Charbeneau(http://developer.telerik.com/featured/the-net-of-tomorrow/) Exciti...

31710
来自专栏张善友的专栏

LINQ via C# 系列文章

LINQ via C# Recently I am giving a series of talk on LINQ. the name “LINQ via C...

2645
来自专栏一个会写诗的程序员的博客

Spring Reactor 项目核心库Reactor Core

Non-Blocking Reactive Streams Foundation for the JVM both implementing a Reactiv...

2152
来自专栏张善友的专栏

Miguel de Icaza 细说 Mix 07大会上的Silverlight和DLR

Mono之父Miguel de Icaza 详细报道微软Mix 07大会上的Silverlight和DLR ,上面还谈到了Mono and Silverligh...

2707
来自专栏落花落雨不落叶

canvas画简单电路图

61811
来自专栏飞扬的花生

jsencrypt参数前端加密c#解密

      写程序时一般是通过form表单或者ajax方式将参数提交到服务器进行验证,如何防止提交的请求不被抓包后串改,虽然无法说绝对安全却给非法提交提高了难度...

3869
来自专栏跟着阿笨一起玩NET

c#实现打印功能

2762

扫码关注云+社区