一、MySQL 高级SQL语句

1.1、select 显示表格中一个或数个字段的所有数据记录
语法:select "字段" from "表名";

1.2、DISTINCT 不显示重复的数据记录
语法:select distinct "字段" from "表名";

1.3、where 按条件查找
语法:select "字段" from "表名" where "条件";

1.4、 AND OR 且,或
语法:select "字段" from "表名" where "条件1" {[AND|OR] "条件2"}+;

1.5、IN 显示已知的值的数据记录
语法:select "字段" from "表名" where "字段" IN ('值1','值2',...);

1.6、between 显示两个值范围的数据记录
语法:select "字段" from "表名" where "字段" between '值1' AND '值2';

1.7、通配符 通常通配符都是跟 Like 一起使用的
&:百分号表示零个、一个或多个字符
_:下划线表示单个字符
'A_Z':所有以'A'起头,另一个任何值的字符,且以'z'为结尾的字符串
'ABC%':所有以'ABC'起头的字符串。
'%XYZ':所有以'XYZ' 结尾的字符串。
'%AN%':所有含有'AN'这个模式的字符串。
'_AN%':所有第二个字母为'A'和第3个字母为'N'的字符串。

1.8、Like 匹配一个模式来找出我们要的数据记录
语法:select "字段" from "表名" where "字段" like {模式};

1.9、ORDER BY 按关键字排序
语法:select "字段" from "表名" [where "条件"] order by "字段"[ASC,DESC];
#ASC 是按照升序进行排序的,是默认的排序方式。
#DESC 是按降序方式进行排序

二、函数
2.1、数学函数
abs(x) 返回 x 的绝对值
rand() 返回 0 到 1 的随机数
mod(x,y) 返回 x 除以 y 以后的余数
power(x,y) 返回 x 的 y 次方
round(x) 返回离 x 最近的整数
round(x,y) 保留x 的 y 位小数四舍五入后的值
sqrt(x) 返回 x 的平方根
truncate(x,y) 返回数字 x 截断为 y 位小数的值
ceil(x) 返回大于或等于 x 的最小整数
floor(x) 返回小于或等于 x 的最大整数
greatest(x1,x2...) 返回集合中最大的值
least(x1,x2...) 返回集合中最小的值

2.2、聚合函数
avg() 返回指定列的平均值
count() 返回指定列中非 null 值的个数
min() 返回指定列的最小值
max() 返回指定列的最大值
sum(x) 返回指定列的所有值之和





2.3、字符串函数
trim() 返回去除指定格式的值
concat(x,y) 将提供的参数x 和 y拼接成一个字符串
substr(x,y) 获取从字符串x中的y个位置开始的字符串,跟substring作用一样
substr(x,y,z) 获取从字符串x中的第y个位置开始长度位z 的字符串
upper(x) 将字符串x的所有字母变成大写字母
lower(x) 将字符串x的所有字母变成小写字母
left(x,y) 返回字符串x 的前y个字符
right(x,y) 返回字符串x 的后一个字符
repeat(x,y) 将字符串 x 重复y次
space(x) 返回 x 个空格
strcmp(x,y) 比较x和y,返回的值可以位-1,0,1
reverse(x) 将字符串 x 反转