一、count()函数
select count(*) from city;
适用于统计这个列的总数,即excel里面的计数
二、sum()函数
指的是求和,会使用索引
三、avg()函数
指的是平均数
四、max()函数
指的是取出最大值,不会使用索引,会使用全表扫描
五、min()函数
指的是取出最小值,跟max一样,不会使用索引,会使用全表扫描
六、正则表达式查询——对要查询的数据结果进行模糊的描述
1、以特定字符开头 ^
select * from city where countrycode like 'CHN' and district regexp '^z';
查询countrycode里面字符串是CHN的数据,并且筛选出district里面Z开头的结果
2、以特定字符结尾 $
select * from city where countrycode like 'CHN' and district regexp 'g$';
查询countrycode里面字符串是CHN的数据,并且筛选出district里面以g结尾的结果
3、匹配任意单个字符 .
select countrycode from city where countrycode regexp 'c,n';
查找countrycode里面字符有“C*N‘的结果,CxN
4、匹配任意多个字符 *或者+ !!!!!!!!!
*表示零个或多个在它前面的字符
+表示它前面的字符一次或多次
select district from city where district regexp '^SH*'
and
countrycode like 'CHN';
http://study.163.com/course/courseLearn.htm?courseId=760014#/learn/video?lessonId=925165&courseId=760014
18:00
*
匹配前面的字符0次或多次
a*rwen可以匹配rwen或aaarwen.
+
匹配前面的字符1次或多次
a+rwen可以匹配arwen或aarwen.但不能匹配rwen.
5、匹配指定字符串
与like效果一样,直接跟‘xxxx’
但是,可以用 | 表示或
select name ,district from city where district regexp 'shan|guang' and countrycode like 'CHN';
6、匹配指定字符串中的任意一个 [ ]
如果在[]里面加上^,表示非
select district from city where district regexp [sg] and country code like 'CHN' limit 10;
表示查询满足中国地区里,结果带有s或者g的
[^sg]表示不带s或者不带g
7、匹配指定字符串连续出现的次数 { }
select district from city where name regexp 'h{1,2}'
表示h出现1到2次,1,2表示1到2
若写成{2,}表示2个及2个以上
【总结】
1、避免在生产环境使用select * ,选出你想查看的字段,并在select语句中清楚的写出来。
2、当表中数据量很大的时候,group by和order by语句会大大增加执行查询语句所消耗的资源。
3、当表中数据量很大的时候,慎用集合函数。
4、如果一条查询语句经常被执行,那么其中where子句涉及到的字段最好有索引。