mysql数据库update时只更新部分数据方法

需求:更新url中最一个字符的‘-1‘改为‘-5‘,前面的内容保持不变

url列的内容如下:http://h5game.ecs.cedarmg.com/a/captal/dispther.do?deviceid=b-01-1

SELECT * from qrmsg
WHERE url LIKE ‘%1‘

http://h5game.ecs.cedarmg.com/c/captal/dispther.do?deviceid=b-01-1

需要把最后这个-1改成-5

操作方式如下:

UPDATE qrmsg SET url
= CONCAT(substring_index(url,‘-‘,‘2‘),‘-5‘) WHERE url LIKE ‘%1‘

SELECT
* from qrmsg WHERE url LIKE ‘%5‘

http://h5game.ecs.cedarmg.com/ca/capital/dispather.do?deviceid=b-01-5

利用的函数如下:

1、substring_index(str,delim,count)

str:要处理的字符串

delim:分隔符

count:计数

例子:str=www.google.com

substring_index(str,‘.‘,1)

结果是:www

substring_index(str,‘.‘,2)

结果是:www.google

也就是说,如果count是正数,那么就是从左往右数,第N个分隔符的左边的全部内容

相反,如果是负数,那么就是从右边开始数,第N个分隔符右边的所有内容,如:

substring_index(str,‘.‘,-2)

结果为:google.com

有人会为,如果我呀中间的的google怎么办?

很简单的,两个方向:

1、从右数第二个分隔符的右边全部,再从左数的第一个分隔符的左边:

substring_index(substring_index(str,‘.‘,-2),‘.’,1);

2、你懂得!

2,concat是连接几个字符串,可以多个哦。

concat(‘wo‘,‘lin‘,‘xue‘,‘bin‘)

结果就是wolinxuebin。

参考blog:

http://blog.csdn.net/wolinxuebin/article/details/7845917

时间: 2024-10-12 15:21:45

mysql数据库update时只更新部分数据方法的相关文章

MySQL数据库update更新子查询

比如: UPDATE test.tb_vobile a set a.name = '111 'WHEREa.id = (select max(id) id from test.tb_vobile) 报错: [SQL]UPDATE test.tb_vobile a set a.name = '111 'WHEREa.id = (select max(id) id from test.tb_vobile) [Err] 1093 - You can't specify target table 'a'

数据库update时切忌这样干

前言:数据库update时切忌这样干,这样干是什么?请随我来看看. 早些时候,客户发来这样一段文字"XX的,XXXXXXXX有个10万没到账,帮加上去."我马上动手查看数据库,寻找原因,随后回复了这样一句话"开玩笑吧".虽然之前发生过类似这样的问题,但都是小额资金,就手动在数据库里加了,遇到这么大的资金还是头一次,于是我加紧翻看数据库记录的节奏. 我发现用户的入金记录的确已经是审核通过状态,而用户的可用资金却没有加上,这已经让人意外了. 接着我查看代码,并没有发现逻

Unity3D_WebPlayer_PHP连接MySQL数据库_3_php登录和读取所有数据

1,PHP登录代码[login.php] 完整代码如下 <?php $name=$_POST['pname']; $password=$_POST['ppwd']; if ($name && $password){ $conn=mysql_connect("xxxxxxxx","Mysql用户名","MYsql密码") or die("SomeConstrError"); mysql_select_db(

MySQL数据库远程访问权限如何打开(两种方法)

MySQL数据库远程访问权限如何打开(两种方法) 下载GPL版本安装 MySQL Community Edition(GPL) Community (GPL) Downloads 在我们使用mysql数据库时,有时我们的程序与数据库不在同一机器上,这时我们需要远程访问数据库.缺省状态下,mysql的用户没有远程访问的权限. 下面介绍两种方法,解决这一问题. 1.改表法 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "

限制MySQL数据库单个用户最大连接数等的方法

服务器上总有一些网站用户的连接数过大,而影响了其他的网站的正常使用,那么如何把某一条臭鱼限制在自己的一亩三分地呢?限制MySQL数据库单个用户最大连接数等的方法下面我来说一下方法和原理: 1.对于Linux和Uinx操作系统需要找到my.cnf,对于windows操作系统需要找到my.ini 2.因为my文件是MySQL的配置文件,我们以前只知道他是对MySQL数据库的整体控制,其实他还可以对单个用户进行限制. 3.将my.cnf或my.ini下载下来,编辑,可以把多余项去掉,加入: max_c

mysql数据库种类介绍及 mysqldump备份数据

一  Nosql 指的是非关系型数据库,作为传统关系型数据库的一个有效补充,针对特定场景.以高性能和使用便利为目一 的功能特异化的数据库产品 Nosql特点: Noosql数据库存储不需要固定的表结构 1 他不是否定关系数据库,而是作为关系数据库的一个重要补充 2 Nosql为了高性能高并发而产生的 3 Nosql典型产品memcache(纯内存) 一重启就丢数据 redis(持久化缓存)  持久化缓存 mongodb 二  非关系型数据库种类: 1 键值存储数据库 2 列存储数据库 3 面向文

mysql数据库同步时数据一致性的配置优化

据丢失,而在生产环境中, 每一数据都是要尽量不等丢失,所以,为了提高主从数据一致性和稳定性,降低丢失数据的可能,就需要进行一些配置优化,使用一些特别的设定,使得数据安全更好,但是同时也会影响到mysql数据库的性能,所以就需要在安全和性能之间进行取舍.根据使用的具体环境,选择最适合自身的数据库安全设置.下面就一一介绍和列举几个对主从数据复制安全比较重要的几个配置参数:MySQL版本为5.61.master主库上设置:innodb_flush_log_at_trx_commit=0: log bu

MySql数据库安装时启动服务错误canot start service

在安装MySQL数据库的时候经常会遇到这样的错误,在安装到最后一步的时候点击excute按钮时,提示不能启动服务.主要原因是因为以前安装过,并且卸载的时候没有清理干净. 解决方案如下: 首先在电脑的控制面板中卸载掉原来的MySQL服务. 卸载完成后.打开 Documents and Settings\All Users目录,在里面有个application data文件夹,如果没有的话,那是他隐藏了,(工具----文件夹选项----显示隐藏的文件),打开application data 文件夹,

windows下本地或者远程连接MYSQL数据库,报1130错误的解决方法

重装MySQL,由于不知道重装之前的root密码,使用重装之后的密码连接Mysql数据,总报 ERROR 1130: host 'localhost' not allowed to connect to this MySQLserver,不能连接数据库,猜测用户权限和密码的问题. 1.用root用户登录mysql数据库 (1)停止MySQL服务,执行net stop mysql; (2)在mysql的安装路径下找到配置文件my.ini, 找到[mysqld]   输入:skip-grant-ta