数据库高效编程(mysql)
2016-03-28 21:14
281 查看
设置数据库的存储引擎
mysql中的存储引擎有存储引擎 | 特征 |
---|---|
MyISAM | 不支持事务处理 |
InnoDB | 支持行锁定以及事务处理,比MyISAM处理速度稍慢 |
ISAM | MyISAM引擎的前身。mySQL5.0后不再安装 |
MERGE | 将多个MyISAM类型的表作为一个表来处理的引擎 |
MEMORY,HEAP | 只在内存上保存数据 |
Falcon | 一种新的存储引擎,支持事务处理 |
ARCHIVE | 将数据压缩后存储(只能进行INSERT和SELECT操作) |
CSV | 以CSV形式保存数据(应用于跨平台的数据交换) |
使用\G替换语句后的分号,使显示出的数据更有条理。
设置存储引擎
更改某一个表的存储引擎
alter table tablename ENGINE = InnoDB;
事务回滚操作
回滚操作必须在支持事务的引擎下才行。代码如下:
begin;
操作;
rollback;
在执行之前,先begin,执行操作之后,执行rollback即可回滚。
如果执行rollback之前执行了commit;那么无法回滚。
如果数据库自动提交功能是off,这样,不使用begin命令也可以回滚。
设置自动提交开关:set AUTOCOMMIT=0;(关)=1;(开)
查看当前自动提交状态使用,select @@AUTOCOMMIT;
部分回滚
在事务处理过程中定义保存点(SAVEPOINT),可以回滚到指定保存点。语法如下:定义保存点:savepoint 保存点名;
回滚:rollback to savepoint 保存点名;
事务不起作用的代码
drop database;drop table;
drop;
alter table;
这些sql执行后会被立即commit,不能回滚。
待续
相关文章推荐
- batch insert 1 million datas into mysql
- mysql查看正在执行的sql
- 《MySQL必知必会学习笔记》:数据分组
- 《MySQL必知必会学习笔记》:聚集函数
- mac安装mysql和修改mysql密码
- MySQL 数据库实现远程连接
- Wampserver #1045 无法登录 mysql 服务器
- Mysql Explain 详解
- mysql查看表结构的几种方式
- Mysql To Charts(五)--routers文件
- Navicat for MySQL每次打开数据库时,总是弹出“取得ER图表信息”框的解决方法
- 针对mysql基础数据类型测试
- MySQL 分区表
- Mysql中文乱码问题(unbutu)
- MySQL 5.7 版本登录报 error 1524: plugin ... in not loaded
- mysql-用户管理 用户无法本地登陆
- Mysql 语句汇总(性能篇)
- mysql5.6源码安装
- mysql note
- mysql error code '1064' 排查过程