MySQL数据库存储引擎
1 + 1=王 人气:0MySQL存储引擎
InnoDB存储引擎
InnoDB存储引擎是MySQL常见的的存储引擎,
- 它给MySQL的表提供了事务处理、回滚、崩溃修复和多版本并发控制等功能;
- 支持列值自动增长(列值不能为空且必须唯一);
- 支持外键。
- 缺点: 占用的空间相对较大
MyISAM储存引擎
MyISAM储存引擎支持3种不同的存储格式:静态型、动态型和压缩型。
- 静态型:静态型是MyISAM的默认存储格式,它的字段是固定长度;
- 动态型:包含变长字段,记录的长度不是固定的。
MyISAM储存引擎占用空间小,处理速度快;但不支持事务的完整性和并发性。
Memory存储引擎
Memory存储引擎使用存储在内存中的内容来创建表,而且数据全部存放在内存中。
每个基于Memory存储引擎的表实际对应一个磁盘文件,该文件名与表名一致,且只存放表的结构。如果重启或关机,所有数据都会消失。
Memory存储引擎默认使用哈希索引,也可在创建索引时指定为B型树索引,使用哈希索引的速度比使用B型树索引的速度快。
Archive存储引擎
Archive存储引擎只支持INSERT和SELECT操作,非常适合存储归档数据,如日志信息等。
Archive存储引擎通过使用zlib算法将数据行压缩后存储,但是它并不知道事务安全的存储引擎,它的设计目标是提供高速的插入和压缩功能。
功能 | InnoDB | MyISAM | Memory | Archive |
---|---|---|---|---|
存储限制 | <= 64TB | <=256TB | RAM | None |
支持事务 | 是 | 否 | 否 | 否 |
全文索引 | 否 | 是 | 否 | 否 |
树索引 | 是 | 是 | 是 | 否 |
哈希索引 | 否 | 否 | 是 | 否 |
数据缓存 | 是 | 否 | N/A | 否 |
外键 | 是 | 否 | 否 | 否 |
数据库的相关操作
创建数据库
create database [if not exists] <数据库名> [[default] charset set <字符集名>] [[default] collate <校对规则名>]
- [if not exists]:表示在创建数据库之前判断该数据库是否存在,只有在不存在的数据才执行创建操作
- [[default] charset set <字符集名>]:表示指定数据库的字符集。
- [[default] collate <校对规则名>]:表示指定字符集的默认校对规则。
修改数据库
alter database <数据库名> { [default] charset set <字符集名> | [default] collate <校对规则名> }
使用alter database更改数据库的全局特性,需提前获得数据库的修改权限。
删除数据库
drop database [if exists] <数据库名>
查看数据库列表
show databases [like '数据库名'];
用户查看MySQL中当前存在的数据库列表。
[like ‘数据库名’]:用户匹配指定的数据库名称,可以部分匹配也可以完全匹配。
打开数据库
use <数据库名>
加载全部内容