数据库入门4

本文详细介绍了数据库中的聚合操作,包括count、max/min、sum/avg及分组与having子句;接着讲解了事务的概念,强调了其ACID特性,并探讨了不同隔离级别;最后讨论了字段约束,特别是char与varchar的区别以及中文乱码问题。
摘要由CSDN通过智能技术生成

目录

一、聚合 aggregation

1、根据一列统计结果count

/2、max / min

/3、sum / avg

/4、分组 group

/5、having

二、事务 transaction

1、什么是事务

2、隔离级别

3、事务处理

三、字段约束

三、 小结

char和varchar有什么区别?

char(10)和varchar(10)存储abc,那它们有什么差别呢?

 中文乱码

为何会造成乱码呢?

注释

 主键、外键、唯一索引的区别?

drop、delete和truncate之间的区别?



一、聚合 aggregation

1、根据一列统计结果
count

select count(\*) from emp --底层优化了

select count(1) from emp --效果和\*一样

select count(comm) from emp --慢,只统计非NULL的

/2、max / min

select max(sal) from emp --求字段的最大值

select max(sal) sal,max(comm) comm from emp

select min(sal) min from emp --获取最小值

select min(sal) min,max(sal) max from emp --最小值最大值

SELECT ename,MAX(sal) FROM emp group by ename --分组

/3、sum / avg

select count(\*) from emp --总记录数

select sum(sal) from emp --求和

select avg(sal) from emp --平均数

/4、分组 group

用于对查询的结果进行分组统计

group by表示分组, having 子句类似where过滤返回的结果
group by

#每个部门每个岗位的最高薪资和平均薪资,结果中的非聚合列必须出现在分组中,否则业务意义不对

SELECT deptno,MAX(sal),AVG(sal) FROM emp

GROUP BY deptno #按照deptno分组

SELECT job,MAX(sal),AVG(sal) FROM emp

GROUP BY job #按照job分组

SELECT deptno,job,MAX(sal),AVG(sal) FROM emp

GROUP BY deptno,job #deptno和job都满足的

/5、having

#平均工资小于8000的部门

select deptno, AVG(sal) from emp
group by deptno #按部门分组
having AVG(sal) \<8000 #查询条件,类似where,但是group by只能配合having

#deptno出现的次数
SELECT deptno,COUNT(deptno) FROM emp

GROUP BY deptno #按deptno分组

HAVING COUNT(deptno)\>1 #次数多的

二、事务 transaction


1、什么是事务

数据库事务(Database Transaction),是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。

简单的说:事务就是将一堆的SQL语句(通常是增删改操作)绑定在一起执行,要么都执行成功,要么都执行失败,即都执行成功才算成功,否则就会恢复到这堆SQL执行之前的状态。

下面以银行转账为例,A转100块到B的账户

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值