IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> two-03 聚合函数 分组 事务 -> 正文阅读

[大数据]two-03 聚合函数 分组 事务

1.聚合函数

#max(),求最大值
SELECT MAX(sal) FROM emp; #查询emp表内最高工资
#min(),求最小值
SELECT MIN(sal) FROM emp;
#avg(),求平均值
SELECT AVG(sal) FROM emp;
#count(),求记录总和
SELECT COUNT(sal) FROM emp;
SELECT COUNT(*) FROM emp #低效
SELECT COUNT(1) FROM emp #高效

2.分组

把数据按照一些维度分成组,然后再把这一组数据继续分析

#1,分组:group by,把数据按照维度分组,后,数据分析
  #口诀:
  #什么时候要分组?查询时出现了混合列
  #按照什么分组?按照非聚合列分组
  #练习1:统计每个岗位的平均薪资
SELECT AVG(sal) FROM emp GROUP BY job;
#练习2:统计每个部门的员工人数
SELECT deptno,COUNT(1) FROM emp GROUP BY deptno
#练习3:统计每年入职的人数
SELECT YEAR(hiredate),COUNT(1) FROM emp GROUP BY YEAR(hiredate); 
#练习4:统计每个部门的最高薪
SELECT deptno,MAX(sal) FROM emp GROUP BY deptno;

#2.分组后过滤having
#group by后的过滤必须用having
#where里不能用别名,不能出现聚合函数,比having高效
#练习1:统计每个部门的最高薪,只要>10000的记录
SELECT deptno,MAX(sal) as max FROM emp #用as起别名,as可省略 
GROUP BY deptno 
HAVING MAX(sal)>10000;
#练习2:统计每年入职的人数,只要人数>1的记录
SELECT COUNT(1)b,YEAR(hiredate)a FROM emp 
GROUP BY a 
HAVING b>1

3.事务

3.1 概述

事务(Transaction),保证多条操作要么全部成功,要么全部失败

3.2 事务的四大特点

ACID

  1. 原子性:把多条SQL看作是一个原子,要么全都执行成功,要么全都执行失败。
  2. 隔离性:保证多个操作之间是隔离的
  3. 持久性:多数据库的操作是持久生效的
  4. 一致性:保证数据在多个系统中是一致的

3.3 隔离级别

  1. 读未提交:性能最好,安全性最差
  2. 读已提交:性能较差,会出现不可重复读的现象,安全性较高,Oracle数据库默认隔离级别
  3. 可重复读:性能较差,不会出现不可重复读的现象,安全性较高,Mysql数据库默认隔离级别
  4. 串行化:性能太差
    测试手动管理事务
#测试 手动管理事务CUD:模拟向test表中插入数据
START TRANSACTION; #开启事务
INSERT INTO test VALUES(NULL,'2');
INSERT INTO test VALUES(NULL,'3');
COMMIT; #结束事务

4. 字段约束

#字段约束:非空约束/唯一约束/主键约束/默认约束..
#1.默认约束:给字段使用default添加默认值
create table a(
 id int primary key auto_increment,
 sex varchar(10) default '男' # 默认约束,设置默认值
)
#2.检查约束:给字段使用check添加合法性的检查
create table b(
 id int primary key auto_increment,
 age int,
 check(age<100) #检查约束,age无法记录不合法数据
)
#3.外键约束:防止了冗余的数据,通过外键来描述两张表的关系
#特点是:当子表中添加数据时,子表的主键值 必须 取自主表!
       #当主表删除数据时,得保证子表没有相关的记录、
create table jd_user(
 id int primary key auto_increment,
 name varchar(20),
 password varchar(50)
)
create table jd_user_add(
 add_id int primary key,
 address varchar(50),
 # 创建外键语法:foreign key(本表的主键名) references 对方表名(对方表的主键)
 foreign key(add_id) references jd_add(id) #创建外键 
)
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-08 11:51:37  更:2021-10-08 11:52:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:17:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码