初识MySQL(2)

1.条件查询

  使用where子句对表中的数据筛选,结果为true的行会出现在结果集中。

select * from 表名 where 条件;
  • 比较运算符

  等于=,大于>,大于等于>=,小于<,小于等于<=,不等于!=

  查询id>2的学生

  • 逻辑运算符,and 、or、not。

  • 模糊查询

  模糊查询关键字like,%表示任意多个任意字符,_表示一个任意字符。

  • 范围查询
  1. in表示一个非连续的范围内查询
  2. between ... and ...表示在一个连续的范围内

  • 优先级
  1. 小括号>not>比较运算符>逻辑运算符
  2. and比or先运算,如果同时出现并希望先算or,需要结合()使用

2.聚合

为了快速得到统计数据,提供了5个聚合函数。

  • count(*)表示计算总行数,括号中写星与列名,结果是相同的
  • max(列)表示求此列的最大值
  • min(列)表示求此列的最小值
  • sum(列)表示求此列的和
  • avg(列)表示求此列的平均值

查询id最小值得学生,并显示这个id具体信息:

聚合查询只能查询一个结果,所以需要嵌套一个子查询。

3.分组

  按照字段分组,表示此字段相同的数据会被放到一个组中;分组后,只能查询出相同的数据列,对于有差异的数据列无法出现在结果集中;可以对分组后的数据进行统计,做聚合运算。分组的目的是为了更好的聚合。

select 列1,列2,聚合... from 表名 group by 列1,列2,列3...

 

对分组后的数据筛选。where是对from后面指定的表进行数据筛选,属于对原始数据的筛选;having是对group by的结果进行筛选。

4.排序

  为了方便查看数据,对数据进行排序。asc从小到大排列,即升序;desc从大到小排序,即降序。

select * from 表名 order by 列1 asc|desc,列2 asc|desc,...

5.分页

  当数据量过大时,需要分页显示。一次性加载太多数据加大了服务器内存负载;网络中传输的数据过大;同是对用户游览器加载也是一个考验。

select * from 表名 limit start,count

 从start开始,获取count条数据start索引从0开始。

猜你喜欢

转载自www.cnblogs.com/jsnhdream/p/10231355.html