- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
回顾
外键: 关联关系(表与表之间: 表中字段指向另外一张表的主键)
外键条件: 字段类型必须一致, 存储引擎必须为innodb
外键约束:
子表约束: 不能插入父表不存在的记录
父表约束: 三种约束模式(district, cascade,set null), on delete set null on update cascade
联合查询: union, 多表合并和单表不同查询条件
联合查询使用order by: select语句必须使用括号; 还必须配合limit
子查询: 查询语句中有查询语句
分类: 按位置(from,where和exists),按返回结果(用途):标量, 列,行和表
视图: view
节省SQL语句; 安全性控制
视图本质: 虚拟表, 有结构无数据
视图数据操作: 多表只能改, 单表可以增删改(增删有条件限制)
视图算法: undefined未定义, temptable临时表和merge合并
文件备份与还原
文件备份: 存储引擎(myisam适用)
单表数据备份: 只能备份数据
SQL备份: 备份的是SQL指令(mysqldump.exe客户端备份)
增量备份: 备份系统日志文件
需求: 有一张银行账户表, 有A用户给B用户转账: A账户先减少, B账户增加. 但是A操作完之后断电了.
解决方案: A减少钱, 但是不要立即修改数据表, B收到钱之后, 同时修改数据表.
事务安全
事务: transaction, 一系列要发生的连续的操作
事务安全: 一种保护连续操作同时满足(实现)的一种机制
事务安全的意义: 保证数据操作的完整性
事务操作
事务操作分为两种: 自动事务(默认的), 手动事务
手动事务: 操作流程
开启事务: 告诉系统以下所有的操作(写)不要直接写入到数据表, 先存放到事务日志
Start transaction;
进行事务操作: 一系列操作
李四账户减少
张三账户增加
关闭事务: 选择性的将日志文件中操作的结果保存到数据表(同步)或者说直接清空事务日志(原来操作全部清空)
提交事务: 同步数据表(操作成功): commit;
回滚事务: 直接清空日志表(操作失败): rollback;
事务原理
事务操作原理: 事务开启之后, 所有的操作都会临时保存到事务日志, 事务日志只有在得到commit命令才会同步到数据表,其他任何情况都会清空(rollback, 断电, 断开连接)
回滚点
回滚点: 在某个成功的操作完成之后, 后续的操作有可能成功有可能失败, 但是不管成功还是失败,前面操作都已经成功: 可以在当前成功的位置, 设置一个点: 可以供后续失败操作返回到该位置, 而不是返回所有操作, 这个点称之为回滚点.
设置回滚点语法: savepoint 回滚点名字;
回到回滚点语法: rollback to 回滚点名字;
自动事务处理
在mysql中: 默认的都是自动事务处理, 用户操作完会立即同步到数据表中.
自动事务: 系统通过autocommit变量控制
Show variables like ‘autocommit’;
关闭自动提交: set autocommit = off/0;
再次直接写操作
自动关闭之后,需要手动来选择处理: commit提交, rollback回滚
注意: 通常都会使用自动事务
事务特性
事务有四大特性: ACID
A: Atomic原子性, 事务的整个操作是一个整体, 不可分割,要么全部成功,要么全部失败;
C: Consistency, 一致性, 事务操作的前后, 数据表中的数据没有变化
I: Isolation, 隔离性, 事务操作是相互隔离不受影响的.
D: Durability, 持久性, 数据一旦提交, 不可改变,永久的改变数据表数据
锁机制: innodb默认是行锁, 但是如果在事务操作的过程中, 没有使用到索引,那么系统会自动全表检索数据, 自动升级为表锁
行锁: 只有当前行被锁住, 别的用户不能操作
表锁: 整张表被锁住, 别的用户都不能操作
变量
变量分为两种: 系统变量和自定义变量
系统变量
系统定义好的变量: 大部分的时候用户根本不需要使用系统变量: 系统变量是用来控制服务器的表现的: 如autocommit, auto_increment_increment等
查看系统变量
Show variables; -- 查看所有系统变量
查看具体变量值: 任何一个有数据返回的内容都是由select查看
Select @@变量名;
修改系统变量
修改系统
原创力文档


文档评论(0)