SQL提升(一)

5 篇文章 0 订阅
4 篇文章 0 订阅

Sql不常见关键字提升

一、前言

Sql是最重要的关系数据库操作语言,现在基本上任何与数据库相关的操作都离不开sql。所以说sql功能是很强大的。

我们常用的sql关键字不外乎 group by;in; where; from; update……等,这些关键字有时组成sql的基础。

但是Sql还有一些你不常用的关键字,他们也有各自的作用,并且作用大到你难以想象,有时候应用了这些关键字,你的效率可能会提高好几倍。

下面我就来列一些不常见但是很有用的,欢迎大家补充。

 

二、不常见关键字及其作用

group_concat()的使用(连接字段)

group_concat一般会与group by 联合使用意思是将分组的列拼成一个字符串默认以特定的符号(默认逗号)隔开,形成一个新的字段。

    还有分隔符还可以自定义,默认是以“,”作为分隔符,若要改为“|||”,则使用SEPARATOR来指定。

 

mysql> SELECT student_id, GROUP_CONCAT(courses_id SEPARATOR '|||') AS courses FROM student_courses WHERE student_id=2 GROUP BY student_id; 

 

当然我们也可以通过distinct;order by给新查到的字符串去重和排序。

注意事项

  1. 当你使用group_concat时连接的字段列类型最好不要是int类型,如果是那就先转换成char类型,否则返回值就不是一个逗号隔开的串而是byte[],可以用自带函数cast()或者convert()转换这两个函数我就不细细介绍了,大家可以自行学习。因为这种函数确实用得太少。
  2. group_concat连接字段的长度默认是1024个字符,可以使用group_concat_max_len系统变量设置允许的最大长度。
SET [SESSION | GLOBAL] group_concat_max_len = 102400;允许102400个字符。

 

LCASE()的使用(将字段值转换为小写)

         lcase()是将函数中的值全部转化为小写。

 

UCASE()的使用(将字段值转换为大写)

ucase()是将函数中的值全部转化为小写。

 

MID()的使用(截取字符串中部分)

 

SUBSTRING_INDEX()的使用(寻找并截取字符串)

 

SUBSTRING()的使用(截取字符串中部分到结束)

 

CONCAT()的使用(改变链接字符串)

 

ROUNF()的使用(把数值舍入为指定的位数)

 

TOP的使用(选取前多少条记录)

 

LEFT();RIGHT()的使用(字符串排序)

 

三、备注赠言

1.现在我能想到的细节就这么点,后续会补充的。也欢迎大家留言提示我补充。

  • 20
    点赞
  • 110
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值