1. ORDER BY
SELECT语句的ORDER BY 子句对检索出的数据进行排序。这个子句必须是SELECT语句中的最后一条子句。
ORDER BY 语句用于根据指定的列对结果集进行排序。
ORDER BY 语句默认按照升序对记录进行排序。
如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。
注意:DESC关键字只应用到直接位于其前面的列名。
与DESC相反的关键字是ASC,在升序排序时可以指定它,但实际上,ASC没有多大的用处,因为升序是默认的。
%:是用来匹配任意多个字符的。任意多个字符包括0、1以1个以上。
下划线_:是用来匹配一个 字符的。
注意:通配符搜索的处理一般比前面讨论的其它搜索所花时间更长, 所以尽量能不用就不用。
3. 创建计算字段
在数据库服务器上完成这些操作比在客户机上完成要快的多
字段:基本上就是列的别名。
注意:只有数据库知道select语句中哪些列是实际的表列,哪些列是计算字段,但是在客户机的角度来看,计算字段的数据是和其他列的数据相同的方式返回的。
拼接字段,用于显示,MySQL数据库使用拼接函数:concat(),括号中用逗号连接。如select concat(name,'(',score,')') from student
计算后的结果用AS 别名来输出显示,如 select x, y (x+y) as sum from add_table; 则返回的结果列就是x, y, sum
4. 常用的数据处理函数
常用文本处理函数
函数 | 说明 |
Left() | 返回串左边的字符 |
Length() | 返回串的长度 |
Locate() | 找出串的一个子串 |
Lower() | 将串转换为小写 |
LTrim() | 去掉串左边的空格 |
Right() | 返回串右边的字符 |
RTrim() | 去掉串右边的空格 |
Soundex() | 返回串的SOUNDEX值 |
SubString() | 返回子串的字符 |
Upper() | 将串转换为大写 |
日期和时间处理函数
函数 | 说明 |
AddDate() | 增加一个日期(天、周) |
AddTime() | 增加一个时间(时,分) |
CurDate() | 返回当前日期 |
CurTime() | 返回当前时间 |
Date() | 返回日期时间的日期部分 |
DateDiff() | 计算两个日期之差 |
Date_Add() | 高度灵活的日期计算函数 |
Date_Format | 返回一个格式化的日期或字符串 |
Day() | 返回一个日期的天数部分 |
DayOfWeek() | 对于一个日期返回对应的星期几 |
Hour() | 返回一个时间的小时部分 |
Minute() | 返回一个时间的分钟部分 |
Month() | 返回一个时间的月份部分 |
Now() | 返回当前日期 |
Second() | 返回一个时间的秒部分 |
Time() | 返回一个日期时间的时间部分 |
Year() | 返回一个日期的年份部分 |
数值处理函数
数值处理函数仅处理数值数据,这些函数一般用于代数、三角或者几何运算。 常用数值处理函数如下函数 | 说明 |
Abs() | 返回一个数的绝对值 |
Cos() | 返回一个角度的余弦 |
Exp() | 返回一个数的指数值 |
Mod() | 返回除操作的余数 |
Pi() | 返回圆周率 |
Rand() | 返回一个随机数 |
Sin() | 返回一个角度的正弦 |
Sqrt() | 返回一个数的平方根 |
Tan() | 返回一个数的正切 |
5. 聚集函数
- AVG() 求某列(可能会指定条件)的平均值
用法如下:
select AVG(colName) from tableName ; select AVG(colName) from tableName where some condtion;
- SUM() 求取 某列(可能会指定条件)的总和
- MAX() 求某列的最大值
- MIN() 求某列的最小值
- COUNT() 返回某列(可能会指定条件)的行数