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表示会校验数据,不符合条件的数据不会操作
基于两张表创建视图: