百木园-与人分享,
就是让自己快乐。

45.MySQL数据库2

今日内容概要

  • 存储引擎
    • 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
图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » 45.MySQL数据库2

相关推荐

  • 暂无文章