小白必看的mysql~day six

本文介绍了MySQL中的三种主要存储引擎:MyISAM、InnoDB和MEMORY。MyISAM不支持事务,适合快速查询,但数据易丢失;InnoDB是默认引擎,提供事务支持和行级锁定,保证数据安全;MEMORY存储引擎将数据存储在内存中,查询速度极快,但同样不支持事务,数据易丢失。选择合适的存储引擎取决于具体应用场景。
摘要由CSDN通过智能技术生成

存储

1、存储引擎

1.1、完整的建表语句

CREATE TABLE `t_student` (
  `no` bigint(20) DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  `sex` char(1) DEFAULT NULL,
  `classno` varchar(255) DEFAULT NULL,
  `birth` char(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

建表的时候可以指定存储引擎,也可以指定字符集。
默认采用的字符集是utf8

2.2、什么是存储引擎?

存储引擎这个名字只有在mysql中存在。(oracle中有对应的机制,但是不叫做存储引擎。oracle中没有特殊的名字,就是“表的存储方式”)

mysql支持很多存储引擎,每一个存储引擎都对应一种不同的存储方式。
每一个存储引擎都有自己的优缺点,需要在合适的时机选择合适的存储引擎

2.3、查看当前mysql支持的存储引擎?

show engines \G

2.4、常见的存储引擎?

Engine: MyISAM
Support: YES
Comment: MyISAM storage engine
Transactions: NO
XA: NO
Savepoints: NO

MyISAM不支持事务
MyISAM是mysql最常用的引擎,但不是默认的。

• 管理的表具有以下特征:
• 使用三个文件表示每个表:
• 格式文件 — 存储表结构的定义(mytable.frm)
• 数据文件 — 存储表行的内容(mytable.MYD)
• 索引文件 — 存储表上索引(mytable.MYI)
• 灵活的AUTO_INCREMENT字段处理
• 可被转换为压缩、只读表来节省空间 提高检索效率
• ------------------------------------------------------------

Engine: InnoDB
Support: DEFAULT
Comment: Supports transactions, row-level locking, and foreign keys
Transactions: YES
XA: YES
Savepoints: YES

优点:支持事务,行级锁,外键。这种存储引擎数据的安全得到保障。

• 它管理的表具有下列主要特征:
• 每个InnoDB表在数据库目录中以.frm格式文件表示
• InnoDB表空间tablespace被用于存储表的内容,表的数据。
• 提供一组用来记录事务性活动的日志文件
• 用COMMIT(提交)、SAVEPOINT及ROLLBACK(回滚)支持事务处理
• 提供全ACID兼容
• 在MySQL服务器崩溃后提供自动恢复
• 多版本(MVCC)和行级锁定
• 支持外键及引用的完整性,包括级联删除和更新
• ------------------------------------------------------------------
Engine: MEMORY
Support: YES
Comment: Hash based, stored in memory, useful for temporary tables
Transactions: NO
XA: NO
Savepoints: NO

• 使用MEMORY存储引擎的表,其数据存储在内存中,且行的长度固定,这两个特点使得MEMORY存储引擎非常快。
• MEMORY存储引擎管理的表具有下列特征:
• 在数据库目录内,每个表均以.frm格式的文件表示。
• 表数据及索引被存储在内存中。
• 表级锁机制。
• 不能包含TEXT或BLOB字段。
• MEMORY存储引擎以前被称为HEAP引擎。

缺点:不支持事务。数据容易丢失。因为所有数据和索引都是存储在内存当中的。
优点:查询速度快。

想要数据库源数据,请关注“bigData成长之路”,回复mysql
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ylffly21

感谢!欢迎各位技术大佬。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值