mysql单表查询

首先创建一个名为fruits的表,并为其添加数据。
1 create table fruits
2 (
3 id int not null,
4 name char(255),
5 price decimal(8,2),
6 primary key(id)
7 );
在这里插入图片描述

  1. 查询所有字段

    select * from 表名;

select 字段1,字段2,字段3··· from 表名;        //包括所有字段
  1. 查询指定字段

    select 字段名 from 表名;

    select 字段1,字段2······字段n from 表名 where 查询条件;

  2. 带 IN 关键字查询

in操作符用来查询满足指定范围的记录(将所有检索条件用括号括起来)

例如:查询fruits表中id为1,2,3的记录

select * from fruits where id in(1,2,3);

相反可以使用 not in 查询不在条件范围内的记录

  1. 带 BETWEEN AND 的范围查询

between and用来查询某个范围内的值。between x and y 表示从x到y的范围,包括x和y。

例如:查询fruits表中价格在2.00到5.00元的水果信息。

select * from fruits where price between 2 and 5;
  1. 带 LIKE 的字符串匹配查询

与like一起用的有百分号通配符(%)和下划线通配符(_)

百分号通配符(%),可匹配任意长度的字符串,包括空字符。

例如:查询以 b 开头的水果

select * from fruits where name like 'b%';

2.下划线通配符(_),一次匹配任意一个字符。

例如:查询以 y 结尾,且前面有四个字母的记录

select * from fruits where name like '____y';
  1. 空值查询(IS NULL)

    select * from 表名 where 字段名 is null;

相反 is not null 可查询非空值。

  1. AND关键字多条件查询(与)

and可连接两个或多个查询条件

例如:查询fruits表中 id>3,price 小于4 的记录。

select * from fruits where id>3 and price<4;
  1. OR关键字多条件查询(或)

例如:查询fruits表中 id大于3或者price小于4 的记录。

select * from fruits where id>3 or price < 4;
  1. 查询结果不重复(DISTINCT)

distinct关键字消除重复记录

select distinct  * | 字段名  from 表名;
  1. 对查询结果排序

在select语句中使用 order by 子句,对查询结果进行排序。

(1)单列排序

例如:按照水果的价格顺序查询水果信息。

select * from fruits order by price;

在这里插入图片描述
2)多列排序

例如先按照price排序,再按照name排序。

select * from fruits order by price,name;

(3)指定排序方向

select * from fruits order by price DESC;        //按照价格降序排列

与DESC(降序排列)相反的是ASC(升序排列),默认为升序排列。

  1. 分组查询

按照某个或多个数据进行分组

[group by 字段] [having (条件表达式)]

“字段” 为进行分组时所依据的列名称

“having (条件表达式)” 满足条件表达式的将被显示。

(1)创建分组

group by 通常与集合函数一起使用,如max(),count(),sum()······

例如:按照价格对表中数据进行分组

select price,count(*) as total from fruits group by price;

在这里插入图片描述
(2)使用having过滤分组

select price,count(*) as total from fruits group by price having total <=1;

在这里插入图片描述
*having 在数据分组之后进行数据过滤 而 where则在分组之前使用

(3)with rollup 关键字

使用with rollup 后,会在所有分组记录后新增一条记录,该记录计算查询出的所有纪律的总和,即统计记录数
在这里插入图片描述
量。
(4)多字段分组

分组从左往右,先按照第一个字段进行,然后对第一个字段相同的值按照第二个字段分组,以此类推。

select price,count(*) as total from fruits group by price,id;
  1. 使用LIMIT限制查询结果的数量

语法格式:limit[位置偏移量] 行数

例1:查询两条记录(从第一个开始的)

select * from fruits limit 2;

例2:查询两条记录(从第三个开始)

select * from fruits limit 2,2;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值