Sql不常见关键字提升

一、前言

Sql是最重要的关系数据库
<https://baike.baidu.com/item/%E5%85%B3%E7%B3%BB%E6%95%B0%E6%8D%AE%E5%BA%93>
操作语言,现在基本上任何与数据库相关的操作都离不开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给新查到的字符串去重和排序。

注意事项

*
当你使用group_concat时连接的字段列类型最好不要是int类型,如果是那就先转换成char类型,否则返回值就不是一个逗号隔开的串而是byte[],可以用自带函数cast()或者convert()转换这两个函数我就不细细介绍了,大家可以自行学习。因为这种函数确实用得太少。
* 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.现在我能想到的细节就这么点,后续会补充的。也欢迎大家留言提示我补充。

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信