MySQL数据库存储引擎以及数据库的创建、修改与删除

x33g5p2x  于2022-08-17 转载在 Mysql  
字(1.2k)|赞(0)|评价(0)|浏览(751)

MySQL存储引擎

InnoDB存储引擎

InnoDB存储引擎是MySQL常见的的存储引擎,

  1. 它给MySQL的表提供了事务处理、回滚、崩溃修复和多版本并发控制等功能;
  2. 支持列值自动增长(列值不能为空且必须唯一);
  3. 支持外键。
  4. 缺点: 占用的空间相对较大

MyISAM储存引擎

MyISAM储存引擎支持3种不同的存储格式:静态型、动态型和压缩型。

  • 静态型:静态型是MyISAM的默认存储格式,它的字段是固定长度;
  • 动态型:包含变长字段,记录的长度不是固定的。

MyISAM储存引擎占用空间小,处理速度快;但不支持事务的完整性和并发性。

Memory存储引擎

Memory存储引擎使用存储在内存中的内容来创建表,而且数据全部存放在内存中。

每个基于Memory存储引擎的表实际对应一个磁盘文件,该文件名与表名一致,且只存放表的结构。如果重启或关机,所有数据都会消失。

Memory存储引擎默认使用哈希索引,也可在创建索引时指定为B型树索引,使用哈希索引的速度比使用B型树索引的速度快。

Archive存储引擎

Archive存储引擎只支持INSERT和SELECT操作,非常适合存储归档数据,如日志信息等。

Archive存储引擎通过使用zlib算法将数据行压缩后存储,但是它并不知道事务安全的存储引擎,它的设计目标是提供高速的插入和压缩功能。

功能InnoDBMyISAMMemoryArchive
存储限制<= 64TB<=256TBRAMNone
支持事务
全文索引
树索引
哈希索引
数据缓存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 <数据库名>

相关文章