0
点赞
收藏
分享

微信扫一扫

mysql数据查询

汤姆torn 2022-04-18 阅读 86
mysql

基本查询

  • 语法格式

  • select 赛选字段 from查询表

select
	[all|distinct]
	<目标列的表达式1>[别名],
	<目标列的表达式2>[别名]...
from <表名或者试图名>[别名],<表名或者试图名>[别名]...
[where<条件表达式>]
[group by<列名> [having <条件表达式>]]
[order by<列名>[asc|desc]]
[limit<数字或者列表>];

简化版语法

select *| 列名 from 表 where 条件
  • 简单查询

-- 查看所有数据
select * from 表名;
-- 查询指定列
select 列名,列名 from 表名;
-- 3.别名查询.使用关键字是as(as可以省略)
-- 3.1 表起别名
select * from 表名 as 表别名;
-- 3.2 类起别名
select  列名 as 列别名 from 表名;
-- 4.去掉重复值
select distinct 列名 from 表名;
-- 5.查询结果是表达式(运算查询):将所有的商品+10元进行显示。
select 列名,列名+ ‘’ from 表名;

运算符

  • 算数运算符

  • 比较运算符

  • 逻辑运算符

  • 位运算符

算数运算符说明
+加法运算
-减法运算
*乘法运算
/或DIV除法运算,返回商
%或MOD求余运算,返回余数
比较运算符说明
=等于
< 和 <=小于和小于等于
> 和 >=大于和大于等于
<=>安全的等于,两个操作码均为null时,所得其的值为1; 而当其中一个表操作码为null时,其所得值为0
<> 或 !=不等于
is null 或 isnull判断一个值是否为null
is not null判断一个值是否不为null
least当有两个或多个参数时,返回最小值
greatest当有两个或多个参数是,返回最大值
between ‘ 值 ’ and ‘ 值 ’判断一个值是否落在两个值之间
in判断值是in列表中的任意一个值
not in判断值不是in列表中的任意一个值
like通配符匹配
regexp

正表达式匹配

聚合函数查询

  • 简介

    聚合函数查询是纵向查询,他是对一列的值进行计算,然后返回一个单一的值,聚合函数会忽略空值

聚合函数作用
count()统计指定列不为NUll的记录行数
sum()计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0
max()计算指定列的最大值,如果指定列类型是字符串类型,那么使用字符串排序运算;
min()计算指定列的最小值,如果指定列类型是字符串类型,那么使用字符串排序运算;
avg()计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0

排序查询

  • 介绍如果我们需要对读取数据进行排序,我们就可以使用mysql的order by子句来设定你想按哪个字段那种方式来排序在返回搜索结果

select 
字段名1,字段名2,.... -- 查询显示的字段
from 表名
order by 字段名1[asc|desc] ,字段名2[asc|desc]...;-- 查询排序的字段,字段1(主要关键字),字段2(次要关键字),

特点

  1. asc代表升序,desc代表降序,如果不写代表升序

  2. order by 用于句子中可以支持单个字段,多个字段,表达式,函数,别名。

  3. order by 子句,放在查询语句的最后面。LIMIT子句除外。

分组查询

  • 简介

    分组查询是指使用group by字句对查询信息进行分组

  • 格式

select 字段1,字段2...from 表名 group by 分组字段;
  • 如果进行分组的话,则select子句之后,只能出现分组的字段和统计函数,其他字段不能出现

    否则分组字段必须和查询字段相同

  • 分组之后的条件筛选-having

    • 分组之后对统计结果进行筛选的话必须使用having,不能使用where

    • where子句用来筛选FROM子句中指定的操作所产生的行

    • group by 子句用来分组where子句的输出

    • having子句用来从分组的结果中筛选行

格式:

select 字段1,字段2...from 表名 group by 分组字段 having 分组条件;

分页查询-Limit

  • 简介

    分页查询在项目中开发常见,由于数据很大,显示屏幕长度有限,因此对数据需要采取分页显示方式,例如数据共有30条,每页显示五条,第一页显示1-5条,第二页显示6-10条。

  • 格式

-- 方式1-显示前n条
select 字段1,字段2,... from 表名 limit n;
-- 方式2-分页显示
select 字段1,字段2,... from 表名 limit m,n;
m:整数,表示从第几条索引开始,计算方式(当前页-1)*每页显示条数
n:整数,表示查询多少条数据
举报

相关推荐

0 条评论