在mysql字符替换我们常用用update更新语句与replace替换函数进行操作,我们可以利用where来限制是替换指定内容还是替换所有内容,下面一起来看看相关教程.

replace替换:mysql中replace函数直接替换mysql数据库中某字段中的特定字符串,不再需要自己写函数去替换,用起来非常的方便,mysql 替换函数replace().

replace:replace(str1, str2, str3),例子代码如下:

UPDATE `table_name` SET `field_name` = replace (`field_name`,’from_str’,’to_str’) WHERE `field_name` LIKE ‘%from_str%’

说明:

table_name —— 表的名字

field_name —— 字段名

from_str —— 需要替换的字符串

to_str —— 替换成的字符串

例如,mysql替换表的字段里面内容,代码如下:

mysql>selectid,typefromitems 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>updateitemssettype=replace(type,’79’,’78’);

Query OK, 17536 rowsaffected (0.72 sec)

Rowsmatched: 17536  Changed: 17536  Warnings: 0

再查询,代码如下:

mysql>selectid,typefromitems limit 10;

+——–+——–+

| id     | type   | www.phpfensi.com

+——–+——–+

|   0001 | 790000 |

|   0002 | 790000 |

|   0003 | 790000 |

|   0004 | 790000 |

|   0005 | 790000 |

| 150419 | 790000 |

| 150420 | 790000 |

| 150421 | 790000 |

| 150422 | 790000 |

| 150423 | 790000 |

+——–+——–+

10 rowsinset(0.00 sec)

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

正则替换 locate:

LOCATE(substr,str)

POSITION(substr IN str)

返回子串 substr 在字符串 str 中第一次出现的位置,如果子串 substr 在 str 中不存在,返回值为 0:

substring

SUBSTR(str,pos,len): 由中的第位置开始,选出接下去的个字元.

首先描述一下,我遇到的问题,以下是数据库中的一个表mt2:

+—-+——————————————+

| id | name|

+—-+——————————————+

|  1 | sdfsfbeijingsldjfsld  |

|  2 | sdfsfshanghaisldjfsld |

|  3 | sdfsfjnsldjfsld       |

|  4 | sdfsfqdsldjfsld       |

+—-+——————————————+

遇到的要求是:将该表中到的内容删除,众所周知,replace函数是不支持正则表达式的,所以只能采用其他的方法处理.

于是,我是使用了下面的sql语句:

update mt2 set name = replace(name, substring(name, locate(‘’, name),locate(‘’, name)-locate(‘’+10, name)),”);

问题解决了,结果如下:

+—-+——————-+

| id | name              |

+—-+——————-+

|  1 | sdfsfactsldjfsld |

|  2 | sdfsfactsldjfsld |

|  3 | sdfsfactsldjfsld |

|  4 | sdfsfactsldjfsld |

+—-+——————-+

mysql语句怎么替换_mysql怎么批量替换sql语句相关推荐

  1. mysql for 语句执行顺序_MySQL使用profile分析SQL语句执行过程

    分析SQL执行带来的开销是优化SQL的重要手段.在MySQL数据库中,可以通过配置profiling参数来启用SQL剖析.该参数可以在全局和session级别来设置.对于全局级别则作用于整个MySQL ...

  2. mysql 执行效率命令_MySQL优化--explain 分析sql语句执行效率

    MySQL优化--explain 分析sql语句执行效率 explain 命令 explain 命令在解决数据库性能上市第一推荐使用命令,大部分的性能问题可以通过此命令来简单解决,explain可以用 ...

  3. mysql cmd 实时监控_mysql实时监听sql语句

    [临时配置] 1.首先使用cmd命令行终端连接mysql C:\Users\houxin>mysql -h127.0.0.1 -uroot -p 输入密码,连接成功 2.设置数据库执行的日志文件 ...

  4. mysql几种语言_mysql的几种SQL语句

    一.数据查询语言(DQL) DQL全称 DATA Query Language,作用是从表中获取数据,用的最多的关键字是SELECT,保留字有WHERE ,ORDER BY ,GROUP BY等 1. ...

  5. mysql查询重复的_MySQL查询重复记录sql语句

    在数据开发时我们常常会需要把数据库中重复的记录查出来或直接删除数据库中重复记录,下面我来给大家总结一些方法,有需要的朋友可参考. 常用的语句 1.查找表中多余的重复记录,重复记录是根据单个字段(mai ...

  6. MySql 替换字段中字符串的sql语句

    前言 打代码不耽误我 听歌,看小说,玩游戏.         //  代表注释,写习惯了,看着舒服,带有//的那一行是我写的理解,请不要搞错了 最终语句,可以自行修改使用      --------- ...

  7. 如何使用excel批量生成sql语句

    使用excel批量生成sql语句 1.将sql数据导出到excel文件 2.去除execl中多余的空格 设置单元格格式(如果不定义数据格式,去除数据前的空格后数据前的00会消失,如"001& ...

  8. Excel 数据批量生成SQL语句

    假设excel表格中有三列(A.B.C)数据,我们希望可以利用这三列数据批量生成SQL语句 第一步:新增D列,在D1中输入公式:=CONCATENATE("insert into user  ...

  9. 在mysql中更新数据sql语句怎么写_在MySQL中,更新数据库表记录的SQL语句,包括______语句...

    在MySQL中,更新数据库表记录的SQL语句,包括______语句 答:insert replace update delete 在域F中,设其特征为2,对于任意a,b∈F,则(a+b)2 等于多少 ...

  10. sqlite3 实现批量处理 sql语句,避免频繁操作数据库,从而影响性能的问题

    sqlite3 实现批量处理 sql语句,避免频繁操作数据库,从而影响性能的问题.C++语言,begin开始事务,commit提交事务处理. int SQL_EXE(std::vector<st ...

最新文章

  1. 基于Policy Gradient实现CartPole
  2. 递归 || 递归的相关实例练习
  3. AOP面向切面编程在Android中的使用
  4. 43_pytorch nn.Module,模型的创建,构建子模块,API介绍,Sequential(序号),ModuleList,ParameterList,案例等(学习笔记)
  5. 设计时晶振的问题库(z)
  6. linux根目录缩减非lvm,vmware下linux非LVM管理的根目录扩容经历
  7. python比java慢_对于这种算法,Python与Java相比非常慢
  8. 网络用词:小狼狗小奶狗区别
  9. oracle label security redition,今天在用11GR2客户端全库导出10GR2版本的数据库时报ORA-00904错误...
  10. 蘑菇租房java,租房经历总结-----我是如何2天找到合适租房的(房东直租)简单粗暴...
  11. 【CSS3 transition】解决元素高度不固定时,设置transition不生效的问题
  12. Rust基础-Vec用法
  13. 堆晶结构_火成堆晶成因的超镁铁质岩
  14. 领导让谈入职公司的感受
  15. 解决m3u8视频合并问题
  16. CC00033.bigdatajava——|Java方法封装.V15|——|Java.v15|费氏数列.v01|递归实现|
  17. java List去除重复数据的五种方式
  18. 【京东】商品详情页采集
  19. Fedora安装字体方法和Ubuntu非常不同!
  20. 如何练习打字/盲打(作者的感想与建议)

热门文章

  1. 图像语义分割(14)-FastFCN: 重新思考语义分割模型主干网络中的扩张卷积
  2. 论文评析-Gradient Boosting Neural Networks: GrowNet,Preprint, 2021和Gradient boosting原理介绍
  3. 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示,,,
  4. 写给想做自动化的我和我们
  5. Java单元测试-覆盖率分析报告自动生成
  6. mysql innobackupex 备份及恢复
  7. 内文广告程序开发中遇到的一个问题
  8. 智能优化算法改进算法 -附代码
  9. 【LeetCode】【字符串】题号:*49. 字母异位词分组
  10. 【C++】【GADL】读取栅格数据(tif),遍历数组