基本查询
-
语法格式
-
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(次要关键字),
特点
-
asc代表升序,desc代表降序,如果不写代表升序
-
order by 用于句子中可以支持单个字段,多个字段,表达式,函数,别名。
-
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:整数,表示查询多少条数据