基本查询语句:
使用select语句数据库查询一个表,使用select语句时,首先要确定索要查询的列,“*”代表所有的列。
select…from 基本子句的使用:
为字段取别名:
select 项目的原名 as 别名
带like的字符匹配查询:
like属于较常用的比较运算符,通过它可以实现模糊查询。它有两种通配符:“%”和下画线””:
“%”可以匹配一个或多个字符,可以代表任意长度的字符串,长度可以为0。
””只匹配一个字符。
用is null 关键字查询空值:
在where 子句中,如何处理null的值的比较呢?为了取得列中含有null的行,MySQL语句包含了操作待功能is [not] null。说明:
一个字段值是空值或者不是空值,要表示为“is null”或“is not null”;不能表示为“=null”或“ >null”。
如果写成“字段=null”或“字段<>null”,系统的运行结果都直接处理为null值,按照 false处理而不报错。
使用order by子句对结果集排序:
使用order by 子句可以对查询的结果进行升序(asc)或降序(desc)排列排序可以依照某个列的值,若列值相等则根据第2个属性的值,以此类推。利用order by子句进行排序,需要注意如下事项和原则:
默认情况下,结果集按照升序排列。也可以在输出项的后面加上关键字desc来实现降序输出。对含有null值的列进行排序时,如果是按升序排列,null值将出现在最前面,如果是按降序排列,null值将出现在最后。
order by子句包含的列并不一定出现在选择列表中。
order by子句可以通过指定列名、函数值和表达式的值进行排序。
order by子句不可以使用text、blob、longtext和mediumblob等类型的列。
在order by子句中可以同时指定多个排序项。
group by 子句
group by子句可以将查询结果按属性列或属性列组合在行的方向上进行分组,每组在属性列或属性列组合上具有相同的聚合值。如果聚合函数没有使用group by子句,则只为select语句报告一个聚合值。将一列或多列定义成为一组,使组内所有的行在那些列中的数值相同。出现在查询的select列表中的每一列都必须同时出现在group by 子句中。
使用 group by 关键字来分组:单独使用group by关键字,查询结果只显示每组的一条记录。
聚合函数查询:
MySQL的常用聚合函数包括count()、sum()、avg()、max()和 min()等。其中,count()用来统计记录的条数;sum()用来计算字段的值的总和;avg()用来计算字段的值的平均值;max()用来查询字段的最大值;min()用来查询字段的最小值。利用聚合函数可以满足表中记录的聚合运算。
count()函数:count()函数对于除“*”以外的任何参数,返回所选择聚合中非null值的行的数目;对于参数“×”,返回选择聚合所有行的数目,包含null值的行。没有 where 子句count()是经过内部优化的,能够快速地返回表中所有的记录总数。
sum()函数和avg()函数:sum()函数可以求出表中某个字段取值的总和。avg()函数可以求出表中某个字段取值的平均值。
max()函数和min()函数:max()函数可以求出表中某个字段取值的最大值,min()函数可以求出表中某个字段取值的最小值。