Mysql使用集锦

原创
2017/05/06 11:25
阅读数 71

2015/4/14 用户添加 权限设置

1.grant all privileges on test.* to 'root'@'%' IDENTIFIED BY 'liuhui';

添加用户root 密码为liuhui 如果不要密码则可以不填 IDENTIFIED BY 'liuhui' 权限为访问 test库下所以表 test为* 则表示访问所以数据库

 

2.CAST(askmny/10000 AS DECIMAL(8,2) ) 获取自动中除以10000保留最长8位 小数2位

 

3.mysql left(string,num) 从左截取几位

 

4.mysql right(string,num) 从右截取几位

 

5.substring_index(string,"分隔符",num) num为正数表示截取从左边第num个分隔符前边的 num为负数表示从右边第num个分隔符后边的

 

6.group_concat 该函数返回带有来自一个组的连接的非NULL值的字符串结果

select group_concat(name) name from a group by pid

id pid name

1 3 a

2 3 b

3 3 c

 

结果:a,b,c

 

7.拼接字符串concat(str1,str2,str3)

concat('11','22','33') echo 112233;

 

8.sql语句中用到in的时候 如果不支持如 id in ('1,2,3,4') 这样的情况可以使用find_in_set

例:where find_in_set(id,'1,2,3')

 

9.IFNULL(expr1,expr2) 判断是否为null 如果expr1不是null 返回expr1 否则返回expr2

 

10.FLOOR(x) 返回不大于X的最大整数值

 

11.UNIX_TIMESTAMP() 日期转为时间戳

 

12.CEILING(x) 返回不小于X的最大整数值

 

13.truncate(num,n) 直接截取n位数 不四舍五入

 

14.date_add(date,interval num (day、week、month、)) 标准日期格式 加天 周 月

 

15.FROM_UNIXTIME(time,'%Y-%m-%d') 时间戳转日期

 

16.UNIX_TIMESTAMP('%Y-%m-%d') 日期转时间戳

 

17.union去除重复的项 union all 不去重

 

18.distinct 去重

 

2016/8/5 cast(value as type ) convert(value,type) 将value改为type类型

 

2016/12/12 mysql order by 可以利用字段某个值排序 例如 order by pay.repaymentstatus=1

 

2016/12/13 a.aa,(SELECT

MIN(STATUS) FROM `dms_repaymentplan` a WHERE a.pid = 0 AND a.payment_id=pay.payment_id GROUP BY a.payment_id) AS repaymentplanstatus, mysql语句中如果联表只需要一个值 可以这样

 

 

2017-4-6 union all 查询字段字段名要一致 顺序也要一致

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部