SQL语法2


接SQL语法第一篇文章,接下来所有的操作都基于safe这张表进行。

视图view

语法:create view 视图名称 as select 原表中的列名 from 原表名;
在这里插入图片描述
删除视图:
语法:drop view 视图名;
在这里插入图片描述

常用函数

AVG函数,用于求平均值。
语法:select avg(列名) from 表名;
在这里插入图片描述

SUM函数,用于求和:
语法:select sum(列名) from 表名;
在这里插入图片描述

COUNT函数,用于返回满足条件的行数:
语法:select conunt( * ) from 列名。其中count( * )代表从全表进行匹配寻找,也可以将*换成相应的列名。
在这里插入图片描述

最大值最小值,用于求最大值最小值:
语法:select max(列名) from 表名;select min(列名) from 表名;
在这里插入图片描述

GROUP BY:与合计函数,根据一个或者多个列对结果集进行分组。
语法:select 列名 from 表名 group by 列名;注意select和group by后面的列要保持一致。
在这里插入图片描述
在这里插入图片描述
但是我们只能看到有身高为165、177…,但是并不知道具体的有多少人。
在这里插入图片描述
使用count(*)就可以看到一共有多少人了。
在这里插入图片描述
在这里插入图片描述

用于查找男性和女性里面,身高最高的。

Having子句:
用于在分组之后,再进行筛选。为什么会有Having子句呢?是因为where关键字无法与合计函数一起用。
在这里插入图片描述
在这里插入图片描述

执行顺序:
当语句中同时出现:where,group by,having,order by的时候,执行的顺序是:

  1. 执行where xx对全表数据做筛选,返回第1个结果集。
  2. 针对第1个结果集使用group by分组,返回第2个结果集。
  3. 针对第2个结果集中的每1组数据执行select xx,有几组就执行几次,返回第3个结果集。
  4. 针对第3个结集执行having xx进行筛选,返回第4个结果集。
  5. 针对第4个结果集排序。
    在这里插入图片描述
    在这里插入图片描述

其它常用的函数:
select version();//查看数据库版本
select database();//查看目前使用的是哪个数据库
select user();//查看目前登录的用户
select current_time;//查看目前时间

三张重要的表

SCHEMATA:
当前所有Mysql中数据库的信息,当我们执行show databases;命令时,返回的结果就是来自此表。该表中的SCHEMA_NAME就是对应的数据库名称。
SELECT SCHEMA_NAME FROM information_schema.schemata ;
在这里插入图片描述
在这里插入图片描述

TABLES:
提供了数据库中表的信息,也包含视图,描述哪张表属于哪个schema,表类型、表引擎、所创建的时间等重要信息;当我们执行show tables from schema名称这个命令时候,返回的结果就是来自于此。
在这里插入图片描述

COLUMNS:
提供表的列信息,描述了某张表的所有列和每个列的信息,当我们执行show columns fromschemaname.tablename命令时,返回的结果就是来自于此表。这个表更加的全面,其次MySQL本身内部也是要有一个统计信息来统计列。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小刘不忙!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值