数据查询语言
关键字 select
where 条件
order by 排序
asc(升序)、desc(降序)
排序语法:order by 字段1 [asc]|desc [,字段2 [asc]|desc,....]
MySQL中中文排序规则
注意:在utf—8编码集下排序并不是按照中文拼音进行排序,需要改为GBK编码集
修改为按照拼音排序方法:
SELECT * FROM teachers ORDER BY CONVERT(tName USING GBK),tage DESC;
limit
取前多少条-limit
limit语法:limit m[,n]
说明: 当limit后只有M一个数字是时,表示在结果集中取前m条数据
当limit后有两个数字时,表是在结果集中从M+1开始取n条数据
例子:
SELECT * FROM teachers ORDER BY tage DESC LIMIT 2;
取前面两条
SELECT * FROM teachers ORDER BY tage DESC LIMIT 1,1;
从第二条开始取一条
使用limit分页
limit (页码-1)*每页显示信息数,每页显示信息数
SELECT * FROM ta ORDER BY id DESC LIMIT 0,2;
第一页信息,每页两条数据
SELECT * FROM ta ORDER BY id DESC LIMIT 1,2;
第二页信息,每页两条数据
聚合函数
max():最大值
min():最小值
avg():平均值
sum():求和
count():求数目(符合条件的数据的数量)
注意:
#聚合函数不能嵌套使用
#对于聚合函数:空值(null)不参与统计计算
例:
SELECT COUNT(*) FROM elogs
count()括号里可以跟星号,主键字段,数字1。但是建议跟主键字段
统计elogs表有多少条记录
错例:
SELECT COUNT(tage),tage FROM teachers;-- 在普通sql语句中不允许这样书写(count()返回一条数据,而tage代表一列数据)
去重--distinct
用法实例:
去除cid重复的记录再统计条数
SELECT COUNT(DISTINCT cid) FROM elogs
合并结果集--union
注意:默认情况下对重复值去重,如不想去重,则需要在其后加ALL
SELECT sname FROM students
UNION
SELECT tname FROM teachers;
(表或列)重命名
方式1:oldname as newname
方式2:oldname newname
SELECT COUNT(*) AS '学生人数' FROM students
SELECT COUNT(*) '学生人数' FROM students