WEB 10.MySQL

1. Mysql数据库的安装与介绍

(1) 概念介绍

数据库:

存储数据的仓库,按照数据结构,来组织,管理和存储数据,并提供了增、删、改、查的功能。
学查询 架构 优化
数据库的建模:是用来描述业务实体之间的关系

事务:

转账:A给B转账
第一步a的账户先把钱扣除
第二部 将b账户的钱更新
将一组增删改的操作看成一个独立的执行单元,要么都成功,如果有一个操作失败,那么数据库会执行回滚,一组操作都会不生效(事务定义)

事务的特性:

原子性:事务被当做一个不可分割的执行单元,要么全部成功,要么全部失败,成功则将数据应用到数据库,失败不会对数据产生影响
一致性:开始事务前的状态必须和事务执行之后的状态保持一致
隔离性:当用户并发访问数据库时,数据库会给每个用户线程开启一个事务,事务和事务之间相互隔离,互不影响
持久性:一旦事物提交,那么数据就会永久行的应用于数据库,就算机器出现故障,也不会将数据修改

事务的回滚:

事务作为一个独立不可分割的执行单元,要么都成功,只要这一组操作中有一个失败,事务会执行回滚,恢复到事务执行之前的状态

在不考虑事务的隔离性的情况下,会导致以下情况:

脏读
当一个事务执行时,访问了另一个未提交事务的数据,并使用了这条数据
A给B 去转转账,
A账户扣钱 B账户增加钱
A事物并没有提交 通知B查看自己账户
B看到账户收到转账
A在后续的操作中出现失误,导致事物回滚
B 之后B在查看账户时发现账户的钱又不见了
不可重复读
事务A多次读取一条数数据,事务B对这条数据做了修改,最终导致A事务两次读取的数据不一样
幻读
事务A读取一张表中的所有数据,事务B在这个表中添加或者删除了一条数据,导致A的结果和实际结果不符,类似于出现了幻觉。

事务的四种隔离级别:

Read uncommit:读未提交 最低级别,可能会出现任何情况
Read commit:读已提交 可以避免脏读
Repeatable read:可重读 可以避免脏读和不可重复度
Serializable:串行化 可避免 脏读 不可重复读 幻读 最高的隔离级别

数据库的分类:

关系型数据库
是建立在数据模型的基础之上,借用集合、代数等数据概念,来去管理数据

非关系型数据库
Redis mongodb
{key:val}

Mysql引擎:

Myisam:在5.5版本之前 是默认引擎
不支持事务
数据查询速度快
相对数据安全性差
将数据存在三个文件当中
一个文件存表结构 一个文件存索引 一个文件存数据
Innodb:在5.5之后默认引擎
支持事务
相对于myisam 查询效率低
数据安全性高
将数据存在两个文件中
一个文件存表结构 一个文件存索引和数据

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值