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 条评论
登录 后参与评论

相关文章

来自专栏杨建荣的学习笔记

怎样突破表名30个字符的限制(r2笔记51天)

根据oracle的规范,对象的长度最大为30位,也就是说,在平时的使用中如果碰到表名长度大于30位,首先oracle是不答应的,它会提示idnetifier t...

2526
来自专栏工科狗和生物喵

【计算机本科补全计划】Mysql 学习小计(2)

正文之前 昨天下午写了篇 Mysql学习小计,结果出乎意料的受欢迎?变相刺激了我多写点 Mysql?好吧,如尔所愿。我晚上反正还不知道学点啥,就把今天看的那个菜...

34311
来自专栏程序员宝库

MYSQL 业务上碰到的 SQL 问题整理集合

前言 身为一名前端工程师,对于 SQL了解程度并不是很深刻,盘点一些个人工作遇到的问题,给大家普及下知识,以及记录自己如何解决这些问题的。 导航 SELECT ...

3106
来自专栏技术博文

多表关联是ON和WHERE的区别

很多时候,开发在书写SQL的时候不能正确的理解和运用ON和WHERE的区别。今天就简单演示介绍下(有图有真相)。 原理:数据库在通过连接多张表来返回记录时,都会...

3177
来自专栏一枝花算不算浪漫

MyBatis学习总结(六)——调用存储过程

40210
来自专栏圣杰的专栏

SQL递归查询知多少

最近工作中遇到了一个问题,需要根据保存的流程数据,构建流程图。数据库中保存的流程数据是树形结构的,表结构及数据如下图: ? 仔细观察表结构,会发现其树形结构的特...

2528
来自专栏文渊之博

sql 日期格式汇总

SQLserver中用convert函数转换日期格式2008-01-15 15:51SQLserver中用convert函数转换日期格式 SQL Server中...

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

逆转字符串

逆转字符串——输入一个字符串,将其逆转并输出 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #inc...

2764
来自专栏Jed的技术阶梯

Hive窗口函数04-LAG、LEAD、FIRST_VALUE、LAST_VALUE

Hive窗口函数LAG、LEAD、FIRST_VALUE、LAST_VALUE入门

531
来自专栏Aloys的开发之路

SQL Server常用语句

-- 身份证验证(SQLServer) -- 主要验证SQL数据库中已输入的15位 及18位 身份证号码的位数、出生年月日是否正确,可以过滤出大部分的输入错误...

1795

扫描关注云+社区