Mysql高级SQL语句

401 阅读3分钟

一、MySQL 高级SQL语句

image.png

1.1、select 显示表格中一个或数个字段的所有数据记录

语法:select "字段" from "表名";

image.png

1.2、DISTINCT 不显示重复的数据记录

语法:select distinct "字段" from "表名";

image.png

1.3、where 按条件查找

语法:select "字段" from "表名" where "条件";

image.png

1.4、 AND OR 且,或

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

image.png

1.5、IN 显示已知的值的数据记录

语法:select "字段" from "表名" where "字段" IN ('值1','值2',...);

image.png

1.6、between 显示两个值范围的数据记录

语法:select "字段" from "表名" where "字段" between '值1' AND '值2'

image.png

1.7、通配符 通常通配符都是跟 Like 一起使用的

&:百分号表示零个、一个或多个字符
_:下划线表示单个字符

'A_Z':所有以'A'起头,另一个任何值的字符,且以'z'为结尾的字符串
'ABC%':所有以'ABC'起头的字符串。
'%XYZ':所有以'XYZ' 结尾的字符串。
'%AN%':所有含有'AN'这个模式的字符串。
'_AN%':所有第二个字母为'A'和第3个字母为'N'的字符串。

image.png

1.8、Like 匹配一个模式来找出我们要的数据记录

语法:select "字段" from "表名" where "字段" like {模式};

image.png

1.9、ORDER BY 按关键字排序

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

image.png

二、函数

2.1、数学函数

abs(x)                 返回 x 的绝对值
rand()                 返回 01 的随机数
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...)        返回集合中最小的值

image.png

2.2、聚合函数

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

image.png

image.png

image.png

image.png

image.png

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 反转