我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

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

10、limit 限制查询结果条数

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

select  * from  user limit 5; #显示前5行
1    kailinux    javadocker
2    LInuxmysql    NULL
3    python    NULL
4    LInux    redis
5    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    redis
5    linux    0
6    redis    name 
7    kailinux    javadocker
8    LInux    redis

11、mysql 常用函数

 连接函数concat()

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

select   CONCAT(username,'*****',password) from user  #将user表的username和password列用4
个****拼接。
结果:
kailinux*****javadocker
LInuxmysql*****NULL
python*****NULL
LInux*****redis
linux*****0
用下划线或者横线拼接
kailinux_javadocker
LInuxmysql_NULL
python_NULL
LInux_redis
kailinux-javadocker
LInuxmysql-NULL
python-NULL

select   CONCAT(username,'',password) from user #不指定间隔直接拼接两列
kailinuxjavadocker
LInuxmysqlNULL
pythonNULL
LInuxredis

 由此可以看出concat()函数在拼接的时候可以指定任意连接符,达到对数据查询不同结果的显示。

随机函数rand()

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

select   *  from user  order by rand();
5    linux    0
8    LInux    redis
15    python    javadocker
16    LInux    
2    LInuxmysql    NULL
7    kailinux    javadocker
28    winner1234    
20    centos    
17    linux    999
6    redis    name 
3    python    NULL
26    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  ;
24

select 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    1
kailinux    3
LInux    5
LInuxmysql    1
python    2
PYthon234    1
PYTHonmysql    2
PYTHoREDIS    1
redis    3
redispyhon    1
rediswinner    1
ubuntu    1
winner1234    1
winnerredis    1

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

编程热搜

目录