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

相关文章

来自专栏漫漫全栈路

Oracle 学习笔记

前言 本贴内容纪录Oracle课程中的学习笔记,和Oracle的课后作业,以及数据库相关课程的学习笔记,笔记部分使用实例代码记录,不记详细语法。 用户管理...

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

使用impdp不当导致的数据丢失问题(r5笔记第1天)

今天有个朋友问我们一个问题,说他在使用了impdp导入数据的时候,使用了TABLE_EXISTS_ACTION=REPLACE这个选项,结果现在数据都给覆盖了。...

3295
来自专栏抠抠空间

MySQL之pymysql模块

PyMySQL介绍 PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。 Django中...

2837
来自专栏乐沙弥的世界

Oracle 外部表

外部表只能在Oracle 9i 之后来使用。简单地说,外部表,是指不存在于数据库中的表。通过向Oracle提供描述外部表的元数据,我们

582
来自专栏C/C++基础

C++利用MSQL API连接和操作数据库

在Windows平台,我们可以使用ADO、ODBC或者MySQL API进行连接和操作。ADO (ActiveX Data Objects,ActiveX数据对...

1071
来自专栏乐沙弥的世界

SQL Tuning Advisor(STA) 到底做了什么?

      SQL Tuing Advisor(STA) 是Automatic Tuning Optimizer(自动优化调整器)的一部分。在前面的文章使用SQ...

684
来自专栏维C果糖

史上最简单的 MySQL 教程(四十一)「触发器」

触发器:trigger,是指事先为某张表绑定一段代码,当表中的某些内容发生改变(增、删、改)的时候,系统会自动触发代码并执行。

42114
来自专栏乐百川的学习频道

使用sqlite3 模块操作sqlite3数据库

Python内置了sqlite3模块,可以操作流行的嵌入式数据库sqlite3。如果看了我前面的使用 pymysql 操作MySQL数据库这篇文章就更简单了。因...

1797
来自专栏我的博客

Python警告信息捕捉

异常和警告处理案例 # -*- coding: UTF-8 -*- import MySQLdb #警告信息try except是无法捕捉的 from warn...

2925
来自专栏Pythonista

Mysql基础

数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合。数据库中的数据按一定的数学模型组织、描述和存储,具有较小的冗余,较高的数据...

822

扫码关注云+社区