TP5数据库操作SSC开发整理

一、在mysql更新语句中使用乘法:SSC开发,需要请搜索【大神源码论坛】dsluntan.com 客服企娥3393756370 V信17061863513,

->update([

'status' => Db::raw('status*(-1)'), //status值为1和-1,代表相反的状态

]);

二、判断字符是否在另一个字符串中出现:

$groups['rules']='1,3,5,7,9';

//有漏洞,比如权限值为2,权限组中有21会判断有2的权限:
->field('instr(\''.$groups['rules'].'\',number) as ischecked')

//应改成FIND_IN_SET();
->field('FIND_IN_SET(number,\''.$groups['rules'].'\') as ischecked')

三、mysql中if函数用法及时间戳转换日期格式:

->field('if(p.status=0,"否","是") as status,from_unixtime(p.create_time) as time');

四、mysql的查询中怎么截取字符串:
从左开始截取字符串left(str, length);

从右开始截取字符串right(str, length);

截取字符串substring(str, pos, length),说明:substring(被截取字段,从第几位开始截取,截取长度);

按关键字截取字符串substring_index(str,delim,count),说明:substring_index(被截取字段,关键字,关键字出现的次数)。

->join('city c','substring_index(substring_index(area,\',\',2),\',\',-1)=c.c_id')

五、mysql批量修改表前缀:
1、先登入你的Navicat for mysql中,新建查询,在查询编辑器内执行命令:

Select CONCAT('ALTER TABLE ', table_name, ' RENAME TO ', table_name,';' )

FROM information_schema.tables

Where tablename LIKE 'wp%';

得到多条结果,如:

ALTER TABLE table_name RENAME TO table_name;

2、复制上面的结果到记事本,将TO table批量替换成TO new

3、再复制记事本的内容,粘帖到查询编辑器内,执行命令即可。

猜你喜欢

转载自blog.51cto.com/13982273/2178044
今日推荐