mysql存储引擎概述

mysql中有存储引擎的概念,插件式存储引擎是mysql数据库最重要的特性之一。用户可以根据应用的需要选择如何存储和索引数据,是否使用事务等。mysql默认支持多种存储引擎,从而适应不同领域的数据库应用需要,用户可以通过选择使用不同的存储引擎提高应用的效率,提供灵活的存储,用户可以按照自己的需要定制和使用自己的存储引擎,最大程度来实现数据库引擎的可定制性。
mysql5.0 支持的存储引擎包括:MyISAM,InnoDB,BDB,MEMORY,MERGE,EXAMPLE,ARCHIVE、CSV、BLACKHOLE、FEDERATED、NDB Cluster等,这里InnoDB 和BDB提供事务安全表,其他存储引擎都是非事务安全表。

首先登陆:mysql -uroot -p ,然后输入密码:*
这里写图片描述
查询mysql版本:

select version();

这里写图片描述

1 创建新表时,如果不指定存储引擎,系统会使用默认存储引擎,mysql5.5之前的默认存储引擎是MyISAM,5.5之后改为了InnoDB。如果要修改默认的存储引擎,可以再参数文件中设置 default-table-type

查看当前默认存储引擎,可以使用如下命令:

mysql>show variables like 'table_type';  -- 查询的值为MyISam

可以通过下面两种方法查询当前的数据库支持的存储引擎,第一种方法为:

mysql>SHOW ENGINES  \G

这里写图片描述
第二种方法:value显示为disabled的记录表示支持该存储引擎,但是数据启动的时候被禁用。

mysql>show variables like 'have%';

这里写图片描述

创建表时,可以增加engine关键字设置新建表的存储引擎,例如,在下面的例子中,表ai的存储引擎是myISAM,而country表的存储引擎是InnoDB:

CREATE TABLE wq_ai(
    i bigint(20) not null auto_increment,
    primary key(i)
)engine=MyISAM DEFAULT CHARSET=GBK;

CREATE TABLE COUNTRY(
    COUNTRY_ID SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
    COUNTRY VARCHAR(50) NOT NULL,
    LAST_UPDATE TIMSTAMP NOT NULL DEFAULT CURRENT_TIMSTAMP ON UPDATE CURRENT_TIMSTAMP,
    PRIMARY KEY(COUNTRY_ID)
)ENGINE=InnoDB charset=gbk;

如果你想改变已存在的表的存储引擎,可以使用alter table进行修改:
先查看:
show create table wq_ai \G
这里写图片描述
alter table wq_ai engine=innodb; – –将wq_ai的存储引擎从myisam 修改为 innodb,修改后,表ai的存储引擎是innodb,所以可以使用innodb存储引擎的相关特性。
show create table wq_ai \G
这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_17033579/article/details/82014722
今日推荐