今日内容概要
- 存储引擎
- MySQL主要的存储引擎
- 创建表的完整语法
- 数据类型
- 整型
- 严格模式
- 浮点型
- 字符类型
- 日期类型
- 枚举与集合类型
今日内容详细
- 存储引擎
日常生活中文件格式有很多种,针对不同的文件格式会有不同的存储方式和处理机制(txt/pdf/mp3/mp4)
针对不同的数据,应该也要有不同的处理机制来存储
存储引擎就是不同的处理机制
MySQL主要存储引擎
- Innodb
是MySQL5.5版本之后默认的存储引擎
存储数据更加安全
- MyIsam
是MySQL5.5版本之后默认的存储引擎
速度要比Innodb更快,但是我们更加注重的是数据的安全
- memory
内存引擎(数据全部存放在内存中),断电数据丢失
- blackhole
无论存什么数据,都立刻消失(黑洞)
\"\"\"
#查看所有引擎
show engines;
#创建库
create database day45;
#切换到day45库下
use day45;
#用不同的存储引擎在存储表的时候,有什么异同点
create table t1(id int) engine = Innodb;
create table t2(id int) engine = MyIsam;
create table t3(id int) engine = memory;
create table t4(id int) engine = blackhole;
#执行以上四条语句之后,会在day45中生成4张表
Innodb
t1.frm #frm 表结构
t1.ibd #ibd 表数据
Myisam
t2.frm #frm 表结构
t2.MYD #MYD 表数据
t2.MYI #MYI 表索引 类似于书的目录,基于目录查找数据,速度更快
memory
t3.frm #frm 表结构 数据在内存,无需文件存储表数据
blackhole
t4.frm # frm 表结构
#插入几条数据
insert into t1 values(1);
insert into t2 values(1);
insert into t3 values(2);
insert into t4 values(1);
运行之后查看结果
mysql> select * from t1;
+------+
| id |
+------+
| 1 |
+------+
1 row in set (0.00 sec)
mysql> select * from t2;
+------+
| id |
+------+
| 1 |
+------+
1 row in set (0.00 sec)
mysql> select * from t3;
+------+
| id |
+------+
| 1 |
+------+
mysql> select * from t4;
Empty set (0.00 sec)
1 row in set (0.00 sec)
由于t4是用blackhole模式创建的表,因此没有数据
t3中的数据是在内存中,如何验证?
先quit退出与服务端的链接,并且重启mysql服务端,重新链接
切换到day45下,然后执行select * from t3;
此时显示:Empty set (0.00 sec)
\"\"\"
来源:https://www.cnblogs.com/MRPython/p/15228684.html
图文来源于网络,如有侵权请联系删除。