服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - MySQL数据库存储引擎介绍及数据库的操作详解

MySQL数据库存储引擎介绍及数据库的操作详解

2022-08-13 09:301 + 1=王 Mysql

mysql面试中最常问的问题之一:小伙子,你说一下你们公司用的存储引擎,以及你知道有哪些存储引擎和他们之间的区别? 所以下面这篇文章主要给大家介绍了关于Mysql存储引擎的相关资料,需要的朋友可以参考下

MySQL存储引擎

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
外键

数据库的相关操作

创建数据库

?
1
2
3
create database [if not exists] <数据库名>
[[default] charset set <字符集名>]
[[default] collate <校对规则名>]
  • [if not exists]:表示在创建数据库之前判断该数据库是否存在,只有在不存在的数据才执行创建操作
  • [[default] charset set <字符集名>]:表示指定数据库的字符集。
  • [[default] collate <校对规则名>]:表示指定字符集的默认校对规则。

修改数据库

?
1
2
3
alter database <数据库名> {
[default] charset set <字符集名> |
[default] collate <校对规则名> }

使用alter database更改数据库的全局特性,需提前获得数据库的修改权限。

删除数据库

?
1
drop database [if exists] <数据库名>

查看数据库列表

?
1
show databases [like '数据库名'];

用户查看MySQL中当前存在的数据库列表。

[like ‘数据库名’]:用户匹配指定的数据库名称,可以部分匹配也可以完全匹配。

打开数据库

?
1
use <数据库名>

到此这篇关于MySQL数据库存储引擎介绍及数据库的操作详解的文章就介绍到这了,更多相关MySQL数据库存储引擎内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_43598687/article/details/126130298

延伸 · 阅读

精彩推荐
  • Mysql记一次MySQL的优化案例

    记一次MySQL的优化案例

    这篇文章主要介绍了记一次MySQL的优化案例,帮助大家更好的理解和使用MySQL数据库,感兴趣的朋友可以了解下...

    yangyidba4782021-02-24
  • Mysqlmysql 全文检索中文解决方法及实例代码

    mysql 全文检索中文解决方法及实例代码

    这篇文章主要介绍了mysql 全文检索中文解决方法及实例代码的相关资料,需要的朋友可以参考下...

    MYSQL教程网3382020-07-18
  • Mysqlmysql 主从服务器的简单配置

    mysql 主从服务器的简单配置

    首先呢,需要有两个mysql服务器。如果做测试的话可以在同一台机器上装两个mysql服务程序,注意要两个运行程序的端口不能一样。我用的是一个是默认的...

    mysql教程网4262019-10-27
  • MysqlMySQL 5.6 中TIMESTAMP with implicit DEFAULT value is deprecated错误

    MySQL 5.6 中TIMESTAMP with implicit DEFAULT value is deprecated错误

    安装mysql的时候出现TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details),可以参考下面的方法...

    MYSQL教程网4242020-05-17
  • MysqlMySQL版oracle下scott用户建表语句实例

    MySQL版oracle下scott用户建表语句实例

    这篇文章主要给大家介绍了关于MySQL版oracle下scott用户建表语句的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习...

    只是甲10942021-04-09
  • MysqlSQL执行步骤的具体分析

    SQL执行步骤的具体分析

    这篇文章主要介绍了SQL执行步骤的具体分析的相关资料,希望通过本文能帮助到大家,让大家理解掌握SQL是如何执行的,需要的朋友可以参考下 ...

    牧师-Panda3872020-08-15
  • Mysqlsql获取存储过程返回数据过程解析

    sql获取存储过程返回数据过程解析

    这篇文章主要介绍了sql获取存储过程返回数据过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可...

    小东阁下2902020-12-23
  • Mysqlmysql 行转列和列转行实例详解

    mysql 行转列和列转行实例详解

    这篇文章主要介绍了mysql 行转列和列转行实例详解的相关资料,需要的朋友可以参考下...

    MYSQL教程网18132020-07-22