首页 > 数据库 >MYSQL基础知识之DQL语句

MYSQL基础知识之DQL语句

时间:2023-04-03 23:26:14浏览次数:38  
标签:表名 基础知识 字段 分组 MYSQL DQL 查询 WHERE SELECT

1、DQL概念

DQL英文全称是Data Query Language(数据查询语言),用来查询数据库中的表的记录

2、基本查询

语法:

# 查询全部字段
SELECT * FROM 表名;

 

# 查询多个字段
SELECT 字段1,字段2,字段3... FROM 表名;

 

# 去重 

语法:SELECT DISTINCT 字段列表 FROM 表名;

 

 

 3、条件查询

语法:SELECT 字段列表 FROM 表名 WHERE 条件列表;

常见条件运算符如下图:

 

 

 4、聚合函数

语法:SELECT 聚合函数(字段列表) FROM 表名;

将一列数据作为一个整体,进行纵向计算,常见的聚合函数有:
count:统计数量;
max:最大值;
min:最小值;
avg:平均值;
sum:求和。

注意:所有的聚合函数都不计算NULL值

 

 5、分组查询

语法:SELECT 字段列表 FROM 表名 [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组后过滤条件];

WHERE与HAVING区别:
执行时间不同:WHERE是分组之前进行过滤,不满足WHERE条件,不参与分组;而HAVING是分组之后对结果进行过滤;
判断条件不同:WHERE 不能对聚合函数进行判断,而HAVING可以。
注意:
执行顺序:WHERE>聚合函数>HAVING;
分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。

 

 6、排序查询

语法:SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1,字段2 排序方式2;

排序方式有:
ASC:升序(默认值);
DESC:降序;
注意:当多字段排序时,第一个字段值相同时,才会根据第二个字段进行排序

 

7、分页查询

语法:SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询记录数;

注意:
起始索引从0开始,起始索引=(查询页码-1)*每页显示记录数;
分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT;
当查询的是第一页数据,起始索引可以省略,直接简写为LIMIT 10

 由于第二页没有数据,所以输入为0

 

8、DQL执行顺序

FROM -> WHERE ->GROUP BY -> HAVING -> SELECT ->ORDER BY ->LIMIT

 

标签:表名,基础知识,字段,分组,MYSQL,DQL,查询,WHERE,SELECT
From: https://www.cnblogs.com/jpxjx/p/17284833.html

相关文章

  • Mysql基本语句
    创建用户三种方式:CREATEUSERusername1IDENTIFIEDBY'password';CREATEUSER'username1'@'localhost'IDENTIFIEDBY'password';在MySQL中,可以使用password()函数获取密码的哈希值,查看test1哈希值的SQL语句和执行过程如下:mysql>SELECTpassword(�......
  • MySQL(九)InnoDB行格式
    InnoDB行格式查看默认行格式:select@@innodb_default_row_format;查看数据库表使用的行格式mysql>useatguigudb;ReadingtableinformationforcompletionoftableandcolumnnamesYoucanturnoffthisfeaturetogetaquickerstartupwith-ADatabasechanged......
  • MySQL(九)InnoDB数据结构
    InnoDB数据结构1数据库的存储结构:页​ 索引信息和数据记录都是保存在文件上的,确切来说是保存在页结构中;另一方面,索引是在存储引擎上实现的,MySQL服务器上的存储引擎负责对表中数据的读取和写入工作。不同的存储引擎的存放格式是不同的,比如Memory甚至不使用磁盘进行存储数据。......
  • MySQL(十)表空间结构:区、段与碎片区
    表空间结构:区、段与碎片区为什么要有区?​ B+树中的每一层的页都会形成一个双向链表,双向链表之间的物理位置可能会离得非常远,当遇到范围查询的适用场景的时候,就会定位到最左边和最右边的记录,然后沿着双向链表一直扫描,而如果这其中的两个页面物理上离得特别远,就会成为随机I/O,由于......
  • DQL分组查询
    DQL分组查询:1.语法:select字段列表from表名[where条件]groupby分组字段名[having分组后过滤条件];where和having的区别:执行时机不同:where是分组之前进行过滤,不满足wehere条件,不参与分组;而having是分组之后对结果进行过滤判断条件不同:where不能对聚合函数进行判断......
  • MYSQL基础知识之DDL语句
    一、DDL概念DDL(DataDefinitionLanguage)语言:数据定义语言,用来定义数据库对象,如数据库、数据表和数据字段,主要是进行定义/改变表的结构、数据类型、表之间的链接等操作。常用的语句关键字有CREATE、DROP、ALTER等。 二、数据库操作2.1、linux环境连接数据库语法:mysql-u用......
  • DQL聚合函数
    DQL聚合函数:将一个数据作为一个整体,进行纵向计算常见聚合函数:count:统计数量max:最大值min:最小值avg:平均值sum:求和语法:select聚合函数(字段列表)from表名;注意:null值不参与所有聚合函数运算 代码:selectcount(*)fromemp;/*统计员工数量*/selectavg(age)from......
  • Mysql主从复制
    工作原理图:主从复制的原理:分为同步复制和异步复制,实际复制架构中大部分为异步复制。复制的基本过程如下:1).Slave上面的IO进程连接上Master,并请求从指定日志文件的指定位置(或者从最开始的日志)之后的日志内容;2).Master接收到来自Slave的IO进程的请求后,通过负责复制的IO进程根据请......
  • mysql数据库优化大全
    数据库优化sql语句优化索引优化加缓存读写分离分区分布式数据库(垂直切分)水平切分MyISAM和InnoDB的区别:1.InnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间,组成一个事务;2......
  • MySQL实战45讲 笔记
    笔记不要小看一条update语句,在生产机上使用不当可能会导致业务停滞,甚至崩溃。当我们要执行update语句的时候,确保where条件中带上了索引列,并且在测试机确认该语句是否走的是索引扫描,防止因为扫描全表,而对表中的所有记录加上锁。我们可以打开MySQL里的sql_safe_updates参数......