MySQL学习笔记补充知识点

管理事务处理

事务处理

并非所有引擎都支持事务处理,MyISAM和InnoDB是两种最常见使用的引擎,前者不支持明确的事务处理管理,后者支持

事务处理可以用来维护数据库的完整性,它保证成批的mysql操作成批的mysql操作要么执行,要么不执行

相关的概念:

transaction :指一组SQL语句

rollback:指撤销指定SQL语句的过程

commit:指将未存储的SQL语句结果写入数据库表

savepoint:指事务处理中设置的临时占位符,你可以对它发布回退

控制事务处理

使用ROLLBACK命令用来回退MYSQL语句

strart transaction;

delect from orderotals;

rollback;

使用COMMIT

一般的MySQL语句都是直接针对数据表执行和编写的,这就是所谓的隐含提交,即提交操作是自动进行的,明文提交

取消自动提交

set autocommit=0;

这个是设置自动提交:

set autocommit=1;

使用保留点

简单的ROLLBACK和COMMIT语句可以写入或撤销整个事务处理,但是,只是对简单的事务处理才能这样做,更复杂的事务处理可能需要部分提交或回退

如:

SAVEPOINT deletel

rollback to deletel

保留点越多越好,你就越能按自己的意愿灵活地进行回退

释放保留点:执行一条rollback或commit后自动释放


全球化和本地化

字符集和校对顺序

数据库表被用来存储和检索数据,不用的语言和字符集需要以不用的方式存储和检索,因此,MySQL需要适应不同的字符集,适应不同的排序和检索数据的方法

在讨论多种语言和字符集时,将会遇到以下重要术语

字符集为字母和符号的集合

编码为某个字符集成员的内部表示

校对为规定字符如何比较指令

校对为什么重要排序英文正文很容易,对吗?但是大小呢

使用字符集和校对顺序

查看字符集完整列表,使用下列语句查看

show character set;

查看支持校对的完整列表

show collation;


MySQL引擎

引擎的特性

连通性

MySQL是在假定它的大部分应用程序都运行在TCP/IP协议的基础上而设计的

SQL

结构化查询语言是一个开放标准,这个标准在不同厂商的支持程度不同,SQL是当今使用最广泛的语言之一,MySQL有自己的SQL标准变体

数据完整性

通过使用主键,外键约束,触发器等,MySQL支持引擎级的数据完整性

事务

原子性:事务被定义为一个或一系列可以访问或改变数据库内容的动作,在SQL中当一个或多个SQL语句作为一个单元运行时,事务就发生了。把SQL语句分组作为一个单元的一部分将指示MySQL:将其整体视为不可分割的单元,一条语句执行失败都会导致事务失败,俗称为原子性

一致性:当一个事务使得系统处于一致状态时,就是作为单元SQL语句结果会保持一致性

隔离性:每个事务在各自的空间发生,与系统内可能发生的其他事务相互独立

持久性:持久性意味着即使系统崩溃时,也要保存已提交的事务所做的改变。

可扩展性

在大部分RDBMS产品中,可以通过使用存储过程来扩展数据库的能力,其方法通常是通过提高包含控制流语句和条件逻辑的SQL来进一步扩展编程能力

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值