MySQL(五)--数据类型

1 数据类型

1.1 整数类型

MySQL主要提供的整数类型有:TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT。
这里写图片描述
不同类型整数存储所需的字节数是不同的。
这里写图片描述
PS:
(1) id INT(11),这里的数字11,表示的是该数据类型指定的显示宽度,指定能够显示的数值中数字的个数。
(2) 显示宽度和数据类型的取值范围是无关的。显示宽度只是指明MySQL最大可能显示的数字个数,当数值的位数小于指定的宽度时会由空格填充;如果插入了大于显示宽度的值,只要该值不超过该类型整数的取值范围,数值依然可以插入,而且都能显示出来。
(3) 不同的整数类型有不同的取值范围,并且需要不同的存储空间,因此,根据实际需要选择合适的类型,有利于提高查询的效率和节省存储空间。

1.2 浮点数类型和定点数类型

MySQL中使用浮点数和定点数来表示小数。
浮点类型有两种:单精度浮点类型(FLOAT)和双精度浮点类型(DOUBLE)。
定点类型只有一种:DECIMAL([‘desɪm(ə)l])。
浮点类型和定点类型都可以用(M,N)来表示,M称为精度,表示总共的位数;N是标度,表示小数的位数。
这里写图片描述
这里写图片描述

1.3 日期与时间类型

MySQL的日期类型主要有:DATATIME、DATE、TIMESTAMP、TIME和YEAR。
这里写图片描述

1.4 字符串类型

字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET,用来存储字符串数据,也可以存储图片和声音的二进制数据。
这里写图片描述
CHAR(M)为固定长度字符串;
VARCHAR(M)长度可变的字符串,M表示最大列长度,实际长度为插入的长度+1,加1是指一个字符串 结束字符。
这里写图片描述

1.5 二进制类型

MySQL支持两类字符型数据:文本字符串和二进制字符串。
这里写图片描述

2 如何选择数据类型

2.1 整数和浮点数

不需要小数,则使用整数保存。

2.2 浮点数和定点数

在长度一定的情况下,浮点数能表示更大的数据范围。
但是浮点数容易产生误差,对精度要求比较高时,建议使用DECIMAL来存储。
如果进行数值比较,最好使用DECIMAL类型。

2.3 CHAR与VARCHAR

CHAR固定长度,会自动删除插入数据的尾部空格,VARCHAR可变,不会删除尾部空格。
CHAR固定长度,所以处理速度更快,但浪费内存,存储不大,但速度有要求时选CHAR,反之使用VARCHAR。
存储引擎的影响:
MyISAM:最好使用固定长度的数据列代替可变长度固定列。这样使整个表静态化,从而数据检索更快。
InnoDB:使用可变长度的数据列,节省空间。

2.4 BLOB和TEXT

BLOB是二进制字符串,TEXT是非二进制字符串,两者均可存放大容量的信息。
BLOB主要存储图片、音频等,而TEXT只能存储纯文本文件。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值