千家信息网

数据库技能实战进阶之常用结构化sql语句(中)

发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,在上篇文章中我们介绍到查询里面关于order by对查询结果的排序处理,接下来我们将介绍其他的一部分操作。10、limit 限制查询结果条数在mysql数据库里面我们要想显示前10行,或者第x行到n行
千家信息网最后更新 2025年01月24日数据库技能实战进阶之常用结构化sql语句(中)

在上篇文章中我们介绍到查询里面关于order by对查询结果的排序处理,接下来我们将介绍其他的一部分操作。

10、limit 限制查询结果条数

在mysql数据库里面我们要想显示前10行,或者第x行到n行之类的格式显示,这时limit将是我们最好的选择。

select  * from  user limit 5; #显示前5行1    kailinux    javadocker2    LInuxmysql    NULL3    python    NULL4    LInux    redis5    linux    0假如我们想看倒数3行,但是limit不支持倒序,我们可以用以前的方式实现select   * from  user limit 21,3;26    redispyhon    27    PYthon234    28    winner1234    从3开始显示5条select   * from  user limit 3,5;4    LInux    redis5    linux    06    redis    name 7    kailinux    javadocker8    LInux    redis

11、mysql 常用函数

连接函数concat()

语法:CONCAT(str1,str2,...) 可以用来拼接查询结果,

select   CONCAT(username,'*****',password) from user  #将user表的username和password列用4个****拼接。结果:kailinux*****javadockerLInuxmysql*****NULLpython*****NULLLInux*****redislinux*****0用下划线或者横线拼接kailinux_javadockerLInuxmysql_NULLpython_NULLLInux_rediskailinux-javadockerLInuxmysql-NULLpython-NULLselect   CONCAT(username,'',password) from user #不指定间隔直接拼接两列kailinuxjavadockerLInuxmysqlNULLpythonNULLLInuxredis 由此可以看出concat()函数在拼接的时候可以指定任意连接符,达到对数据查询不同结果的显示。

随机函数rand()

这种随机函数,可以在查询结果里面随机排序之类的处理

select   *  from user  order by rand();5    linux    08    LInux    redis15    python    javadocker16    LInux    2    LInuxmysql    NULL7    kailinux    javadocker28    winner1234    20    centos    17    linux    9996    redis    name 3    python    NULL26    redispyhon    22    rediswinner    25    PYTHoREDIS    27    PYthon234    这种随机数里面就可以用来抽奖之类的,我们将随机排序的再获取3行,select   *  from user  order by rand() limit 3;23    PYthonmysql    27    PYthon234    4    LInux    redis

统计列数count()

select count(*) from user 就可以查询出某表里面包含多少条数据等,这里挑选列时一般选择主键相关的列。

select   count(*)  from user  ;24select count(id ) from user  ;  但是这种在数据量大时会比较慢

求和函数sum()

select   sum(id)  from user  ; #对id求和356

求最大值max()

select   max(id)  from user  ;28

求最小值函数()

select   min(id)  from user  ;1

平均函数avg()

select   avg(id)  from user  ;14.8333

分组函数group by

select   username,count(*) from user  GROUP BY username ; #按用户名分组,可以统计出相同用户的信息centos    1kailinux    3LInux    5LInuxmysql    1python    2PYthon234    1PYTHonmysql    2PYTHoREDIS    1redis    3redispyhon    1rediswinner    1ubuntu    1winner1234    1winnerredis    1

关于多表查询的相关知识请看之前的有关mysql的文章。

0