SQL提升(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_25814003/article/details/82387224

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.现在我能想到的细节就这么点,后续会补充的。也欢迎大家留言提示我补充。

阅读更多

没有更多推荐了,返回首页