MySQL单表操作

Posted 技术很low的瓜贼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL单表操作相关的知识,希望对你有一定的参考价值。

文章目录

mysql单表操作

一、排序

语法格式说明
SELECT 字段名 FROM 表名 [WHERE 字段 = 值] ORDER BY 字段名 [ASC]ASC 表示升序排序(默认)
SELECT 字段名 FROM 表名 [WHERE 字段 = 值] ORDER BY 字段名 [DESC]DESC 表示降序排序
  • 单列排序:只按照某一个字段进行排序
SELECT * FROM TRANSACTION ORDER BY salary;

SELECT * FROM TRANSACTION ORDER BY salary DESC;
  • 组合排序:同时对多个字段进行排序, 如果第一个字段相同 就按照第二个字段进行排序,以此类推
SELECT * FROM TRANSACTION ORDER BY age DESC, salary ASC;

二、聚合函数

  • 使用聚合函数查询是纵向查询,它是对某一列的值进行计算,然后返回一个单一的值(另外聚合函数会忽略null空值。)
  • 语法结构

SELECT 聚合函数(字段名) FROM 表名;

聚合函数功能
count(字段)统计指定列不为NULL的记录行数
sum(字段)计算指定列的数值和
max(字段)计算指定列的最大值
min(字段)计算指定列的最小值
avg(字段)计算指定列的平均值
SELECT COUNT(cid) FROM TRANSACTION;

SELECT SUM(age) FROM TRANSACTION;

SELECT MAX(salary) FROM TRANSACTION;

SELECT MIN(salary) FROM TRANSACTION;

SELECT AVG(salary) FROM TRANSACTION;

三、分组

  • 分组查询指的是使用 GROUP BY 语句,对查询的信息进行分组,相同数据作为一组
  • 语法格式

SELECT 分组字段/聚合函数 FROM 表名 GROUP BY 分组字段 [HAVING 条件];

SELECT * FROM TRANSACTION GROUP BY age;

SELECT age AS 年龄, COUNT(age) AS 个数 FROM TRANSACTION GROUP BY age HAVING age>50; 
  • where与having的区别
wherewhere 进行分组前的过滤
where 后面不能写 聚合函数
havinghaving 是分组后的过滤
having 后面可以写 聚合函数

四、limit关键字

  • limit是限制的意思,用于 限制返回的查询结果的行数 (可以通过limit指定查询多少行数据)
  • limit 语法是 MySql的方言,用来完成分页
  • 语法结构

SELECT 字段1,字段2… FROM 表名 LIMIT offset , length;

SELECT * FROM TRANSACTION LIMIT 0, 2;
  • 分页公式: 分页公式 起始索引 = (当前页 - 1) * 每页条数

以上是关于MySQL单表操作的主要内容,如果未能解决你的问题,请参考以下文章

MySQL单表操作

mysql 数据操作 单表查询 查询排序: order by

MySQL 基础之 单表多表联查

MySQL查询基础

Mysql单表太大,性能受影响求指点

python--MySQl单表查询