一、查询的命令
1、查询所有信息: select * from 表名 ;
2、也可以这样查,查详细点:数据库.表名 .*
3、数据库的名字省略的前提是:你当前所选择的数据库就是该数据库,因此要选择相应的数据库里的表。
4、查询表中的部分字段信息:
① 详细查询:
② 在当前表中可省略表名,直接查询:
5、给表起别名 — 用as
① 这种形式的:前面的也需要修改:
②前面不写表名的,后面可直接加as s:
6、为字段起别名:
7、去重:挺重要
① 看看gender都有什么
② 去重的原理:是以一行记录为看点的呢,这一行的记录没有重复的。
没有变化,因为没有一行是重复的。
二、MySQL条件查询 (用where)
比较运算符、逻辑运算符、模糊查询、范围查询、空判断
(1)比较运算符
等于: =
大于: >
大于等于: >=
小于: <
小于等于: <=
不等于: != 或 <>
1、
2、Where 1> 0为真,全导出来数据。
3、把id != 10的都显示出来:
(2)逻辑运算符
and 这个符号两边都为真的时候,结果才为真,也就是才满足条件。
or 这个符号两边只要有一个为真的时候,结果就为真,也就是才满足条件。
not
(3)模糊查询:like
%表示任意多个任意字符
_表示一个任意字符
2、下面是以正则表达式查询 使用rlike,(直接用like查不到)’^周’ 查询以周字开头的名字
3、例如:查询“小”字开头的名字或者名字中带“杰”字的:
(4)范围查询
1、in表示在一个非连续的集合内:
2、between ... and ...表示在一个连续的范围内
①
② 不能写字符串:
(5)空判断
用is判断
注意:null与''是不同的
判空is null
判非空is not null
(6)优先级
优先级由高到低的顺序为:小括号,not,比较运算符,逻辑运算符
and比or先运算,如果同时出现并希望先算or,需要结合()使用
三、命令总结:
四、排序的基本使用(使用order by)
1、asc从小到大排列,即升序
desc从大到小排序,即降序
2、代码如下所示:给身高降序、升序
3、默认按照列值从小到大排列
4、下面的排序是优先使用身高进行排序的,如果身高一样的,就再使用年龄进行排序:
五、聚合函数的使用---聚合函数,为了统计而生
1、count(*)表示计算总行数:
为了保证统计的数据是最准确,所以count(*)
2、max(列)表示求此列的最大值
min(列)表示求此列的最小值
3、sum(列)表示求此列的和
4、avg(列)表示求此列的平均值(为空的话不包含)
或这种形式:
六、分组的基本使用:(使用group by group_concat() )
原理:去重,一样的在一组
按照字段分组:此字段相同的数据会被放到一个组中,分组后,分组的依据列会显示在结果集中,
其他列不会显示在结果集中,可以对分组后的数据进行统计,做聚合运算。 分组的目的还是为了做统计。
1、在这分组就相当于去重了:
那也可以使用前面讲过的distinct去重: 效果一样
2、默认情况下:分组之后会对分组的数据执行一次升序排序的操作。
3、查看按着性别分组以后,组里人的姓名:
① 可使用这个命令,但执行结果不会变
② 与group_concat()函数一起使用
4、与聚合函数一起使用:
5、分组后的数据筛选(条件选择)having 在分组使用
① 对比where与having
where是对from后面指定的表进行数据筛选,属于对原始数据的筛选
having是对group by的结果进行筛选
总结:有group by语句的出现不一定有having语句的出现,那有having语句的出现就一定会有group by语句的出现。
② 例如:查询女生的人数:
七、(重点)用limit限制查询结果的数量
1、不指定初始位置:
不指定初始位置时,记录从第一条记录开始显示。显示记录的条数有limit关键字指定。
如果你指定的数目比实际表中存在的记录数大,那么查询结果就会把表的全部记录显示出来
2、指定初始位置:
开始从0下标开始数的
查询时,从记录的第3个位置开始查起(也就是后一个位置开始查),一共查询3条记录。
前面的2代表,从哪条记录之后开始查起,后面的3代表,一共查询几条记录,它们之间用逗号分开。
3、可以使用order by 关键字将身高降序排列,然后使用limit关键字指定只查询降序后的前5条记录。
4、(重点)按照身高分组,显示出名字,并降序输出第一个人的名字
八、(重点)分页的查询语句
1、已知:每页显示的数据数是用变量pageSize,当前在第几页用变量pageNow来表示。
求出数据表中满足条件的总数据量,用变量allSum:
万能公式:(当前页数-1)*要查的条数
再求出总页数: if allSum % pageSize == 0 :
allSum / pageSize
else:
allSum / pageSize + 1
用变量pageCount。
2、万能公式:(当前页数-1)*要查的条数
现在我想要得到第1页的数据信息并且只要3条:
limit (pageNow - 1)*pageSize , pageSize (1-1)*3=0
现在我想要得到第2页的数据信息:limit (pageNow - 1)*pageSize, pageSize
(当前页数-1)*条数3
现在我想要得到第3页的数据信息:limit (pageNow - 1)*pageSize, pageSize (3-1)*3
查询的完整格式 ^_^ 不要被吓到 其实很简单 ! _ !
中间的一长串字符只是格式,该怎样写还怎样写。