问题描述:

    MySQL 数据表主要支持六种类型 ,分别是:BDB、HEAP、ISAM、MERGE、MYISAM、InnoBDB。

这六种又分为两类,一类是“事务安全型”(transaction-safe),包括BDB和InnoDB;其余都属于第二类,称为”非事务安全型”(non-transaction-safe)。

BDB 全称是”Brekeley DB”,它是Mysql最早的具有事务能力的表的类型,由Sleepycat Software (http://www.sleepycat.com)开发。它提供了事务控制能力功能,它确保一组命令全部执行成功,或者当任何一个命令出现错误时所有命令的结果都被回退,可以想像在电子银行中事务控制能力是非常重要的。支持COMMIT、ROLLBACK和其他事务特性。最新版本的Mysql已经计划移除对BDB的支持,转而全力发展InnoDB。

问题解决:

     存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型)。

InnoDB 是较新的事务安全型存储引擎,用于事务处理应用程序,支持BDB的几乎所有特性,并具有众多新特性,包括ACID事务支持。

特性:

事务处理机制
支持外链
崩溃后能立即恢复
支持外键功能,级联删除
支持并发能力
在硬盘上的存储方式:InnoBDB frm

最新版本的Mysql已经计划移除对BDB的支持,转而全力发展InnoDB。InnoDB对Mysql有更好的特性支持,而且开发社区活跃。

    MyISAM 默认的MySQL插件式存储引擎,它是基于ISAM类型,但它增加了许多有用的扩展,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。注意,通过更改STORAGE_ENGINE配置变量,能够方便地更改MySQL服务器的默认存储引擎。
优点:

1.比ISAM表更小,所占资源更少
2.可以在不同平台间二进制移植表的类型在创建表时指定。

(1)查看数据库可以支持的存储引擎

    命令:show engines;

mysql怎么查看数据类型 怎么查看mysql表的数据类型_mysql怎么查看数据类型

    注:如上图所示,为显示当前mysql支持的存储引擎

mysql怎么查看数据类型 怎么查看mysql表的数据类型_数据库_02

从上图看出,这里使用的是mysql 5.5版本,默认使用的是InnoDB的数据库引擎,为安全事务的引擎

(2)查看表结构

命令:desc table_name;

mysql怎么查看数据类型 怎么查看mysql表的数据类型_数据库_03

(3)显示表的创建语句

mysql怎么查看数据类型 怎么查看mysql表的数据类型_数据库_04

注:

    以上显示了表的默认创建语句,从上面可以看出,mysql5.5默认情况下使用的是InnoDB的引擎,使用的编码方式utf-8

(4)显示表的当前状态值

mysql怎么查看数据类型 怎么查看mysql表的数据类型_mysql怎么查看数据类型_05

(5)修改数据库表的引擎

mysql怎么查看数据类型 怎么查看mysql表的数据类型_数据库_06

注:mysql5.5默认情况下创建的数据表就是InnoDB,查看表的结构信息如上

修改表的数据库引擎

mysql怎么查看数据类型 怎么查看mysql表的数据类型_存储引擎_07

修改之后,重新查看mysql的数据库引擎

mysql怎么查看数据类型 怎么查看mysql表的数据类型_mysql怎么查看数据类型_08

ACID

原子性(Atomicity)
原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。
一致性(Consistency)
事务前后数据的完整性必须保持一致。
隔离性(Isolation)
事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。
持久性(Durability)
持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响