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

本文涉及的产品
云数据库 Redis 版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云原生内存数据库 Tair,内存型 2GB
简介:

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

10、limit 限制查询结果条数

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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,...) 可以用来拼接查询结果,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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()

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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   就可以查询出某表里面包含多少条数据等,这里挑选列时一般选择主键相关的列。

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

求和函数sum()

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

求最大值max()

1
2
select    max (id)   from  user   ;
28

求最小值函数()

1
2
select    min (id)   from  user   ;
1

平均函数avg()

1
2
select    avg (id)   from  user   ;
14.8333

分组函数group  by

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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的文章。


本文转自 tianya1993 51CTO博客,原文链接:http://blog.51cto.com/dreamlinux/1908573,如需转载请自行联系原作者

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
1天前
|
SQL 监控 关系型数据库
MySQL数据库中如何检查一条SQL语句是否被回滚
检查MySQL中的SQL语句是否被回滚需要综合使用日志分析、事务状态监控和事务控制语句。理解和应用这些工具和命令,可以有效地管理和验证数据库事务的执行情况,确保数据的一致性和系统的稳定性。此外,熟悉事务的ACID属性和正确设置事务隔离级别对于预防数据问题和解决事务冲突同样重要。
9 2
|
13天前
|
SQL 安全 数据库
基于SQL Server事务日志的数据库恢复技术及实战代码详解
基于事务日志的数据库恢复技术是SQL Server中一个非常强大的功能,它能够帮助数据库管理员在数据丢失或损坏的情况下,有效地恢复数据。通过定期备份数据库和事务日志,并在需要时按照正确的步骤恢复,可以最大限度地减少数据丢失的风险。需要注意的是,恢复数据是一个需要谨慎操作的过程,建议在执行恢复操作之前,详细了解相关的操作步骤和注意事项,以确保数据的安全和完整。
27 0
|
17天前
|
前端开发 C# 设计模式
“深度剖析WPF开发中的设计模式应用:以MVVM为核心,手把手教你重构代码结构,实现软件工程的最佳实践与高效协作”
【8月更文挑战第31天】设计模式是在软件工程中解决常见问题的成熟方案。在WPF开发中,合理应用如MVC、MVVM及工厂模式等能显著提升代码质量和可维护性。本文通过具体案例,详细解析了这些模式的实际应用,特别是MVVM模式如何通过分离UI逻辑与业务逻辑,实现视图与模型的松耦合,从而优化代码结构并提高开发效率。通过示例代码展示了从模型定义、视图模型管理到视图展示的全过程,帮助读者更好地理解并应用这些模式。
30 0
|
17天前
|
SQL 数据处理 数据库
|
17天前
|
Java 数据库连接 数据库
告别繁琐 SQL!Hibernate 入门指南带你轻松玩转 ORM,解锁高效数据库操作新姿势
【8月更文挑战第31天】Hibernate 是一款流行的 Java 持久层框架,简化了对象关系映射(ORM)过程,使开发者能以面向对象的方式进行数据持久化操作而无需直接编写 SQL 语句。本文提供 Hibernate 入门指南,介绍核心概念及示例代码,涵盖依赖引入、配置文件设置、实体类定义、工具类构建及基本 CRUD 操作。通过学习,你将掌握使用 Hibernate 简化数据持久化的技巧,为实际项目应用打下基础。
35 0
|
10月前
|
SQL Oracle 关系型数据库
本机不安装Oracle客户端,使用PL/SQL Developer连接远程数据库
本机不安装Oracle客户端,使用PL/SQL Developer连接远程数据库
211 0
|
SQL 程序员 数据库
【python】连接sql server数据库,并实现简单的增删改查(1)
Python编程语言越来越受到大家的喜爱,本篇文章就从链接微软数据库进行增删改查操作的讲解
617 0
|
3月前
|
SQL IDE Java
Java连接SQL Server数据库的详细操作流程
Java连接SQL Server数据库的详细操作流程
|
17天前
|
SQL 数据库 开发者
|
3月前
|
SQL 关系型数据库 MySQL
sql连接mysql数据库
要使用SQL来连接MySQL数据库,你实际上需要使用一种编程语言(如Python、Java、PHP等)配合相应的数据库驱动或库。下面,我将为你提供几个常见编程语言的示例,说明如何连接到MySQL数据库

热门文章

最新文章