Mysql记录

1. FIND_IN_SET(str,strlist)

str 要查询的字符串,strlist 字段名 参数以”,”分隔 如 (1,2,6,8)
如果str不在strlist 或strlist 为空字符串,则返回值为 0 。
如任意一个参数为NULL,则返回值为 NULL。
这个函数在第一个参数包含一个逗号(‘,’)时将无法正常运行。

2. substring_index()函数

 substring_index(str,delim,count)
    str:要处理的字符串
    delim:分隔符
    count:计数

示例:

如 str=www.baidu.com
则 substring_index(str,‘.’,1) 处理的结果是:www
substring_index(str,‘.’,2) 得到的结果是:www.baidu
也就是说,如果count是正数,那么就是从左往右数,第N个分隔符的左边的全部内容,相反,如果是负数,那么就是从右边开始数,第N个分隔符右边的所有内容。

如:
substring_index(str,‘.’,-2) 得到的结果为:baidu.com
如果要中间的的 baidu 怎么办?
很简单的,需要从两个方向截取:
先截取从右数第二个分隔符的右边的全部内容,再截取从左数的第一个分隔符的左边的全部内容:
  substring_index(substring_index(str,‘.’,-2),‘.’,1);

3. locate(substr,str), locate(substr,str,pos)函数

第一个语法返回substr在字符串str 的第一个出现的位置。第二个语法返回子符串 substr 在字符串str,从pos处开始的第一次出现的位置。如果substr 不在str 中,则返回值为0 。

select locate("bai","www.baidu.com") ; //返回5

//可以在sql作为条件
and locate(str,"www.baidu.com")>0

4. 查找某数据库下各个表的占用存储大小。

select
table_schema as '数据库',
table_name as '表名',
table_rows as '记录数',
truncate(data_length/1024/1024, 2) as '数据容量(MB)',
truncate(index_length/1024/1024, 2) as '索引容量(MB)'
from information_schema.tables
where table_schema='查找的数据库名'
order by data_length desc, index_length desc;

5. 新导入的数据库报The user specified as a definer (‘designChangeFormal’@‘%’) does not exist 错误

解决办法:
->grant all privileges on *.* to designChangeFormal@"%" identified by ".";
->FLUSH PRIVILEGES;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值