MySQL数据库之——SQL语句(简易部分)

Posted 丁CCCCC

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL数据库之——SQL语句(简易部分)相关的知识,希望对你有一定的参考价值。

一、创建模板表格

在这里插入图片描述

二、语法实例

2.1 SELECT

显示表格中一个或者多个选项的所有内容

语法:SELECT 选项 FROM 表名;

select id from cc02;

在这里插入图片描述

2.2 DISTINCT

不显示重复的内容

语法:SELECT DISTINCT 选项 FROM 表名;

select distinct age from cc02

在这里插入图片描述

2.3 WHERE

条件查询

语法:SELECT DISTINCT 选项 FROM 表名 WHERE 条件;

select height from cc02 where height > 170;

在这里插入图片描述

2.4 AND OR

AND:且
OR:或

语法:SELECT 选项 FROM 表名 WHERE 条件1 (AND/OR 条件2);

select name from cc02 where height < 180 OR (height > 150 AND height < 170)

在这里插入图片描述

2.5 IN

显示已知的值的内容

语法:SELECT 选项 FROM 表名 WHERE 选项 IN (‘值1’,‘值2’,…);

select * from cc02 where age in ('18','34');

在这里插入图片描述

2.6 BETWEEN

显示两个值范围内的内容

语法:SELECT 选项 FROM 表名 WHERE 选项 BETWEEN ‘值1’ AND ‘值2’;

select * from cc02 where height between '150' and '165';

在这里插入图片描述

2.7 LIKE

通配符

通常通配符和 LIKE 一起使用

通配符解释举列
%零个、一个或者多个字符A、AB、ABC、ABCD
_下划线表示单个字符A
A_Z所有以 A 起头,另一个任何值的字符,且以 Z 为结尾的字符串ABZ、ACZ、A5Z
ABC%所有以 ABC 起头的字符串ABCD、ABC123、ABCABC
%XYZ所有以 XYZ 结尾的字符串ABCWYZ、123WYZ、aaWYZ
%AN%所有含有 AN 这个模式的字符串12AN12、abcANaaa、aAN bbb
_ AN%所有第二个字母为 A 和第三个字母为 N 字符串aAN123、AANBBB、1ANabcd

LIKE

匹配一个模式来找出需求的内容

语法:SELECT 选项 FROM 表名 WHERE 选项 LIKE 模式;

select * from cc01 where food like '烤%';

在这里插入图片描述

2.8 ORDER BY

按照关键字排序

语法:SELECT 选项 FROM 表名 {WHERE 选项} ORDER BY 选项 [ ASC / DESC ];

  • ASC 是按照升序排序,默认排序方式
  • DESC 按照降序方式排序
select * from cc02 order by height desc;

select * from cc02 order by height asc;

在这里插入图片描述

三、函数

3.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…)返回集合中最小的值
select round(1.12345,2), truncate(1.1234,2), ceil(1.2), floor(3.3);

在这里插入图片描述

3.2 聚合函数

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

举列

#返回cc02 height列平均值
select avg(height) from cc02;

#返回最大值
select max(height) from cc02;

#返回最小值
select min(height) from cc02;

在这里插入图片描述
在这里插入图片描述

count

count(*) 表示包括所有列的行数,不会忽略null值
count(列名) 表示只包括这一列,统计时会忽略null值的行

3.3 字符串函数

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

案列

#两个选项拼接一个,并且输出180行
select concat(name,height) from cc02 where height = 180;

在这里插入图片描述

3.4 GROUP BY

对GROUP BY 后面的查询结果进行汇总分组,通常是结合聚合函数一起使用

GROUP BY有个原则,select 后面的所有列中,没用用聚合函数的列,必须出现在GROUP BY后面

语法:SELECT 选项1,SUM(选项2) FROM 表名 GROUP BY 选项1;

select height,sum(age) from cc02 group by height;

在这里插入图片描述

3.5 HAVING

用来过滤由GROUP BY语句返回的记录集,通常与GROUP BY语句联合使用

HAVING的存在弥补了WHERE关键字不能和聚合函数联合使用的不足,如果被select的只有函数栏,那就不需要GROUP BY子句

语法:SELECT 选项1,SUM(选项2) FROM 表名 GROUP BY 选项1 HAVING 函数条件;

select height,sum(age) from cc02 group by height having sum(age) > 25;

在这里插入图片描述

HAVING只是条件过滤,用来筛选前面GROUP BY的结果

以上是关于MySQL数据库之——SQL语句(简易部分)的主要内容,如果未能解决你的问题,请参考以下文章

Mysql基础之准备及DDL语句

MySQL的select语句

mysql优化之SQL语句优化

MySQL备份之mysqldump

MySQL备份之mysqldump

mysql系列之二关系型数据库基础理论