一、概念介绍
数据库:存储数据的仓库,按照数据结构,来组织,管理和存储数据,并提供了增、删、改、查的功能。
事物:
将一组增删改的操作看成一个独立单元,要没都成功,如果有一个操作失败,那么数据库会执行回滚,一组操作都会不生效。
二、事务的特性
原子性:事物被当做一个不可分割的执行单元,要么全部成功,要么全部失败,成功则将数据应用到数据库,失败不会对数据产生影响。
一致性:开始事物前的状态必须和事物执行之后的状态保持一直
隔离性:当用户并发访问数据库时,数据库会给用户线程开启一个事物,事物和事物之间相互隔离,互不影响
持久性:一旦事物提交,那么数据就会永久行的应用于数据库,就算机器出现故障,也不会数据修改
三、事务的回滚
事物作为一个独立不可分割的执行单元,要么都成功,只要这一组操作中有一个失败,事物会执行回滚,恢复到事物执行之前的状态
在不考虑事物的隔离性的情况下,会导致一下情况:
脏读:当一个事物执行时,访问了另一个未提交事物的数据,并使用了这条数据,就会导致脏读
不可重复读:事物a多次读取一条数据,事物b对这条数据做了修改,最终导致a事物两次读取的数据不一样
幻读:事物a读取一张表中的所有数据,事物b在这个表中添加或者删除了一条数据,导致a的结果和实际不符,类似出现了幻觉
四、事物的四种隔离级别
read uncommit:读未提交,最低级别,可能出现任何情况
read commit:读已提交 可以避免脏读
reapeatable read:可重复读 可以避免脏读和不可重复读
serializable:串行化 可避免脏读,不可重复读,幻读,最高隔离级别
五、数据库分类
关系型数据库:是建立在数据模型的基础之上,借用集合、代数等数据概念,来去管理数据
非关系型数据库:例如Redis mongodb数据库,以键值对方式管理数据
六、MySQL数据库的基本结构
MySQL是关系型数据库管理软件,多条数据组成一张表,多张表组成一个库,MySQL管理多个库
七、sql语句分类
SQL结构化查询语言,用于关系型数据库的操作
DDL(定义)一般使用与对库的操作和表的操作
DML(操作)一般是数据的添加、修改、删除
DQL(查询)一般是数据的查询
DCL(控制)一般使用权限管理,由dba来操作
SQL的语法规则:
1.SQL语句必须以分号结尾
2.不区分大小写,但是一般文档中SQL关键字都是大写
八、数据库简单的命令
1.查看所有的库
2.创建数据库
3.切换数据库
4.查看当前所在库
5.删除库