学习目标:
Mysql数据库
1.1 mysql事务
手动提交
(1)开启事务 start transaction;或者begin;
(2)提交事务 commit;
(3)回滚事务 rollback;
自动提交(默认提交方式)
(1)每执行一条DML语句,都是一个单独的事务。
1.2事务四大特性
(1)原子性
(2)一致性
(3)隔离性
(4)持久性
1.3 事务隔离
(1)read uncommitted:读未提交
(2)read commmitted:读已提交
(3)repeatable read:可重复读
(4)serializable:串行化
**@@tx_isolation 查看事务隔离级别
**set global transaction isolation level 级别名称。
2.1外键
(1)外键约束:可以让两张表产生对应的关系,产生 一个强制的外键约束检查。
(2)外键(cinstant 表名 foreign key(外键字段名) references 主键字段):从表中与主表中主键对应的字段
(3)外键约束注意事项:
从表的外键类型必须与主表的外键类型一致
添加数据先添加主表数据,在添加从表数据
删除数据先删除从表数据
(4)级联删除(on delete cascade):删除主表数据的同时,可以删除与之相关的从表数据
3.子查询分类
(1)where型子查询:将子查询的结果作为父查询的比较条件使用。
(2)from型子查询:将子查询的查询结果作为一张表使用。
(3)exits型子查询:将子查询的查询结果作为父查询in函数中的条件使用。
4.数据库三范式
(1)1NF:列具有原子性,设计列要做到不可拆分。
(2)2NF:一张表只能描述一件事情
(3)3NF:表中的信息如果能够被推导出来,就不 要设计一个字段单独记录。
5.视图的创建
(1)视图语法:create view 视图名[字段列表] as select 查询语句;
(2)操作视图,相当于操作只读的表。
(3)试图建立在表的基础之上,删除视图表不受影响,视图依赖于表。
6.存储过程
(1)存储过程其实就是一堆SQL语句的合并,中间加入了一些逻辑控制。
(2)存储过程适用于业务变化少
(3)创建存储过程方式1:
语法格式
delimiter
−
−
声
明
语
句
的
结
束
符
号
自
定
义
c
r
e
a
t
e
p
r
o
c
e
d
u
r
e
存
储
过
程
名
称
(
)
−
−
声
明
存
储
过
程
b
e
g
i
n
−
−
开
始
编
写
存
储
过
程
−
−
要
执
行
的
S
Q
L
e
n
d
-- 声明语句的结束符号 自定义 create procedure 存储过程名称() --声明存储过程 begin --开始编写存储过程 --要执行的SQL end
−−声明语句的结束符号自定义createprocedure存储过程名称()−−声明存储过程begin−−开始编写存储过程−−要执行的SQLend --存储过程结束
调用:call 存储过程名称
7.触发器
(1)执行一条sql语句的时候,这条sql语句的执行会自动去触发执行其他的sql。
(2)创建触发器
delimiter $ – 自定义结束符号
create trigger 触发器名
after/before(insert/update/delete) --触发器的时机和监视的事件
on tableName --触发器所在表
for each row – 固定写法 表示行触发器
begin
– 被触发的事件
end $
**8.用户登陆权限 **
(1)create user ‘用户名’@‘主机名’ identified by ‘密码’
(2)grant 权限1,权限2 … on 数据库名.表 to ‘用户名’@‘主机名’
(3)grant all on . ‘用户名’@’%’;
(4)show grants for ‘用户名’@‘主机名’
(5)备份 mysqldump -u用户名 -p 密码 数据库名 >文件路径
(6)还原 备份 source sql文件地址
9.JDBC
(1)访问数据库的标准规范,具体方式实现由数据库厂商实现。
(2)
10.数据库连接池
数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个(addBatch()方法)。
11.元数据
元数据包括:
查询结果信息:UPDATE或者DELETE语句 受影响的记录数。
数据库和数据表的信息:包含了数据库及数据表的结构信息。
MySQL服务器信息:包含了数据库服务器的当前状态,版本号。
12.XML
1.XML:可扩展的标记语言
(1)可以存储数据
(2)作为配置文件
(3)使用xml在网络中传递数据
2.XML中的元素标签 命名规则
(1)标签定义 不使用空格 或者冒号
(2)xml标签名称 区分大小写
3.XML中有且只有一个根元素