1、什么是事务?
1、事务是作为单个逻辑工作单元执行的一系列操作
2、多个操作作为一个整体向系统提交,要么都执行,要么都不执行
3、事务是一个不可分割的工作逻辑单位
2、事务的特性(事务必须具备以下4个属性,简称ACID属性):
1、原子性(Atomicity)
事务是一个完整的操作,事务的各步操作是不可分的(原子的),要么都执行,要么都不执行
2、一致性(Consistency)
当事务完成时,数据必须处于一致的状态
3、隔离性(Isolation)
并发事务之间彼此隔离、独立,他不应以任何方式依赖于或影响其他事务
4、持久性(Durability)
事务完成时,他对数据库的修改是永久保持的
3、数据库的三大范式
第一范式:数据表中的每一列(每个字段)都不可以拆分
第二范式:在第一范式的基础上,分主键列完全依赖于主键,而不能依赖于主键的一部分
第三范式:在第二范式的基础上,表中的非主键只依赖于主键,而不依赖于其他非主键
4、MySQL的存储引擎
1、存储引擎的类型:MyISAM、InnoDB、Memory、CSV等
2、MyISAM与InnoDB类型的主要区别
名称 | InnoDB | MyISAM |
---|---|---|
事务处理 | 支持 | 不支持 |
数据行锁定 | 支持 | 不支持 |
外键约束 | 支持 | 不支持 |
全文索引 | 不支持 | 支持 |
表空间大小 | 较大,约2倍 | 较小 |
3、适应场合:a、使用MyISAM:不需事务,空间小,以查访问为主
b、使用InnoDB:多删除、更新操作,安全性高、事务处理及并发控制
5、使用distinct去除重复内容
6、分组查询:group by, having(分组后筛选)
where——》group by ——》having
select testName '测试名称',
count(score) '考试人数',
sum(score) '总成绩',
avg(score)'平均成绩'
from result
GROUP BY testName
having avg(score)>60
ORDER BY avg(score) desc;
7、聚合函数会涉及到5个单词:
数量 count()、最大 max()、最小 min()、平均数 avg()、求和 sum()