mysql update正则替换sql语句

下面的update语句执行的是把www.test.com中的test替换为abc

UPDATE 表名 SET 字段名= REPLACE( 替换前的字段值, '替换前关键字', '替换后关键字' ) WHERE 字段名 REGEXP "替换前的字段值";

例句:

 代码如下 复制代码
UPDATE test SET
url= REPLACE('www.test.com','test', 'abc' )
WHERE url REGEXP "www.test.com";

如果在记录中,有类似
www.test.com
www.test1.com
www.test2.com
要将这些记录都变成www.abc.com则执行sql语句如下

 代码如下 复制代码

UPDATE test SET
url= REPLACE('www.test.com','test', 'abc' )
WHERE url REGEXP '^(www.test)';

正则是非常灵活的,但是有非常复杂的情况,正则的效率不一定高于其他的方法,不一定要死抱着一颗树,有时候尝试新的方法或许会学到更多的东西。

时间: 2024-09-20 07:56:43

mysql update正则替换sql语句的相关文章

mysql update正则替换sql语句_正则表达式

下面的update语句执行的是把www.test.com中的test替换为abc 程序代码 例句: Update test SET url= REPLACE('www.test.com','test', 'abc' ) Where url REGEXP www.test.com; 如果在记录中,有类似 www.test.com www.test1.com www.test2.com 要将这些记录都变成www.abc.com则执行sql语句如下 Update test SET url= REPLA

MYSQL查询字符替换sql语句

 代码如下 复制代码 mysql> update `table_name` set field = replace(field,'.rar','.7z'); table_name:要查询的表名, field:表里的字段名, replace(field,'.rar','.7z'); :正则匹配,把field字段里的 .rar 替换为 .7z 利用replace加正则来替换字符  代码如下 复制代码 UPDATE `table_name` SET `field_name` = replace (`f

求正则替换sql语句为select count(*) from

问题描述 求替换SQL的办法selectt0.*(selectcount(*)fromnewswherecreatorid=t0.userid)pCountfromusert0leftjoin(select*fromxxxxx)t1ont0.userid=t1.idwheret0.xx=xx需要查询出该SQL的count有多少个以前我是在这句sql外面包了句selectcount(*)from(上面那句sql)但是发现MYSQL在大数据量下的嵌套查询的速度简直是无法忍受那么我就想试着用正则表达式

sql语句-mysql定时任务 写下SQL语句

问题描述 mysql定时任务 写下SQL语句 想让MYSQL里面的jpzh表里面的isstaus在晚上00定时更新 那个大侠 写下SQL语句 解决方案 CREATE EVENT e_testON SCHEDULE EVERY 1 DAYSTARTS '2014-12-04 00:00:00'DO UPDATE jpzh SET isstaus=.....; 从 2014-12-04 00:00:00 开始,每天做一次 解决方案二: 你的逻辑好像不太对,按常理开发模式,一般是从应用端控制时间,然后

mysql教程删除数据sql语句用法

  mysql教程删除数据sql语句用法 DELETE FROM 语句用于从数据库表中删除记录. 语法 DELETE FROM table_name WHERE column_name = some_value 注释:SQL 对大小写不敏感.DELETE FROM 与 delete from 等效. 为了让 PHP 执行上面的语句,我们必须使用 mysql_query( 函数.该函数用于向 SQL 连接发送查询和命令. 例子 稍早时,我们在本教程中创建了一个名为 "Person" 的表

mysql-如何打印出MySQL优化之后的SQL语句呢

问题描述 如何打印出MySQL优化之后的SQL语句呢 我们知道SQL优化的基本原则就是是我们的SQL或HQL满足数据库查询优化器,那么我们能够通过什么方式看到查询优化器优化之后的SQL语句呢? 解决方案 MySQL56打印sql语句mysql sql语句优化Mysql sql语句优化 解决方案二: http://blog.csdn.net/wocaonima123987/article/details/7980182

mysql 如何通过一个sql语句搜出比例关系

问题描述 mysql 如何通过一个sql语句搜出比例关系 例如 一个表格里有 商品,价格,日期 三个字段 a 10.2,20151008 a 9.2,20151009 a 7.2,20151010 b 11.2,20151008 b 10.2,20151008 我要搜 在历史上各个商品价格低于10¥的次数占该商品出现的总次数的百分比,应该如何写mysql语句呢? 谢谢了 搜出结果要类似 a 2/3 b 0/2 这样的sql语句怎么写呢? 解决方案 假设表名是ProductPrice, 商品,价格

根据mysql慢日志监控SQL语句执行效率_Mysql

根据mysql慢日志监控SQL语句执行效率 启用MySQL的log-slow-queries(慢查询记录). 在Linux环境下先要找到my.cnf文件(一般在/etc/mysql/),然后可能会发现该文件修改后无法保存,原因是你没有相应的权限,可以从属性中看到该文件的所有者是root,这时要先以root的身份打开它: sudo nautilus /etc/mysql 接着再打开my.cnf文件然后找到[mysqld]标签在下面加上: log-slow-queries=/path/slow.lo

mysql部分替换sql语句的例子

有时候需要对mysql中的内容进行部分替换,那么可以参考下面的文章. 将cdb_pms表subject字段中的Welcom to替换成 欢迎光临 UPDATE `cdb_pms` SET `subject` = REPLACE(`subject`, 'Welcome to', '欢迎光临') WHERE INSTR(`subject`,'Welcome to') > 0 替换cdb_posts表的message字段,将"viewthread.php?tid=3989"替换成&qu