JAVA学习笔记第十一章
11.数据库
11.1简介
11.1.1数据库基本概念


11.1.2数据库类型


11.1.3MySQL介绍


11.1.4MySQL使用



数据库的卸载:

图形客户端:


11.2SQL语言



11.2.1数据库表的操作









11.2.2数据库表的类型



11.2.3添加、修改、删除数据
添加数据:


修改、删除数据:





11.2.4查询











在别名中有特殊符号的时候,单引号或双引号不可以不写



where语句:





11.2.5函数



单行函数:
【1】字符函数



【2】数值函数


【3】日期与时间函数




【4】流程函数




【5】JSON函数

【6】其他函数


多行函数:


多行函数自动忽略null值
max/min/count对所有类型有效,sum和avg只对数值类型有效


11.2.6分组
group by分组




11.2.7单表查询




11.2.8多表查询








外连接:







outer可以省略不写
三表联查:

自关联:



92语法:



11.2.9子查询
【1】子查询:一条sql语句含有多个select






11.3约束
11.3.1非外键约束



primary key、check、unique都是表级约束,可以不用放入到列的定义中,可以在表中写,也可以在列中写。
auto_increment必须定义在主键的情况下。
创建表之后添加约束







11.3.2外键约束





这上面出现问题的原因是外键约束没加,需要添加外键约束

注意:添加的时候必须添加班级表里面的班级,删除的时候先把所属班级的学生删除了才能删除班级




11.4数据库对象
11.4.1事务及特征






11.4.2事务并发问题

读取到还没提交到数据库的数据

事务A时间点5和7读取的数据不一致,在一个事务内两次读到的数据不一样


10.4.3事务的隔离级别


11.5视图

视图的本质:是一个查询语句,是一个虚拟的表,查看视图就是查看对应的sql语句

在操作视图的时候也会影响到底层的数据
or replace已存在则替换,with check option表示会校验数据,不符合条件的数据不会操作

基于两张表创建视图:



11.6存储过程






