mysql存md文件_mysql存储引擎.md

本文详细介绍了MySQL的存储引擎,如InnoDB和MyISAM的特点和使用场景。InnoDB支持事务、外键,适合需要数据一致性的场景;而MyISAM则占用空间较小,读取速度快。此外,文章还讲解了MySQL的各种数据类型,如整型、浮点型、字符串类型和日期时间类型,并提供了选择数据类型的建议。
摘要由CSDN通过智能技术生成

#### 存储引擎

```

存储引擎其实就是如何存储数据,如何为储存数据建立索引和如何更新数据等技术的实现方法因为关系型数据库中的数据是以表的形式储存的,所以存储引擎也可以称为表类型

```

#### 查询MySQL存储引擎

```

show engines;

show engines \g

以上两行代码是相同作用的

show engines \G 可以使得查询的结果更加美观

```

```

show variables like 'have%';

```

#### InnoDB存储引擎

```

InnoDB给MySQL提供的表事务,回滚,崩溃修复能力和多版本并发控制的事务安全,InnoDB也是MYSQL上第一个提供外键约束表引擎

InnoDB存储引擎中支持自动增长列AUTO_INCREAMENT. 自动增长列的值不能为空而且必须唯一,MySQL中规定自动增长必须为主键。

也就是当插入值时,会自动增长

InnoDB支持外键,外键所在的表为子表,外键所依赖的表为父表,父表中被外键关联的字段必须为主键

在InnoDB引擎中,创建的表的表结构存储在 .frm文件中,数据和引擎存储在 innodb_data_home_dir 和 innodb_data_file_path表中

但是其读写效率比较差,占用空间相对比较大

```

#### MyISAM存储引擎

```

frm表存储的结构

myd 存储数据,是MYData的简写

myi 存储索引,是MYIndex的简写

```

#### 数字类型

```

整型

TINYINT: 最小整数,有符号的范围:-127-127,无符号的范围:0-255,一个字节

BOOL: 最小整数,有符号的范围:-127-127,无符号的范围:0-255,一个字节

SMALLINT: 小型整数,有符号的范围:-32768-32767,无符号的范围:0-65536,两个字节

INT: 标准整数,4字节,

BIGINT: 大整数

```

```

浮点型

FLOAT: 单精度

DOUBLE: 双精度

DECIMAL: 可变

```

#### 选择技巧

```

选择最小的可用性,如果值永远小于127,则使用TINYINT比INT好

对于完全都是数字的,可以选择整数类型

浮点型用于可能具有小数,例如购物单价,网上交付金额

```

#### 字符串类型

```

普通文本字符串:CHAR和VARCHAR类型

可变类型:TEXT和BLOB

特殊类型:SET和ENUM

```

#### 普通文本字符串

````

CHAR的长度是被固定的,VARCHAR长度是可变的,都是0-255个字符

````

#### 可变类型

```

大小可变,TEXT更适合用于存储长文本类型,

BLOB更适合于存储二进制数据,例如 图片,声音,文本。

```

#### 特殊类型

```

存储枚举值 Enum('value1','value2')

存储集合值 Set('value1','value2')

```

#### 选择技巧

```

当从速度方面考虑,优先选择CHAR类型

要节省空间,使用动态咧,可以选择VARCHAR

要列出内容限制在一种选择,可以使用ENUM类型

允许在一个列中有多于一条的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值