MySQL学习之路(七):MySQL数据类型简介

学习MySQL,单独列出一篇来讲数据类型,这是因为在创建表时,如果使用错误的数据类型可能会严重影响应用程序的功能和性能,所以应该特别重视数据列所用的数据类型。更改包含数据的列不是一件小事,这样做可能会导致数据丢失。因此,在创建表时必须为每个列设置正确的数据类型和长度。

数据类型(data_type)是指系统中所允许的数据的类型。MySQL 数据类型定义了列中可以存储什么数据以及该数据怎样存储的规则。

数据库中的每个列都应该有适当的数据类型,用于限制或允许该列中存储的数据。例如,列中存储的为数字,则相应的数据类型应该为数值类型。

MySQL 的数据类型有大概可以分为 5 种,分别是整数类型浮点数类型定点数类型日期和时间类型字符串类型二进制类型等。

注意:整数类型和浮点数类型可以统称为数值数据类型。

1) 整数类型

包括 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT;

根据占用字节数可以求出每一种数据类型的取值范围。例如,TINYINT 需要 1 个字节(8bit)来存储,那么 TINYINT 无符号数的最大值为 28-1,即 255;TINYINT 有符号数的最大值为 27-1,即 127。其他类型的整数的取值范围计算方法相同,如下表所示。
在这里插入图片描述

2)浮点数类型

浮点类型有两种,分别是单精度浮点数(FLOAT)和双精度浮点数(DOUBLE)定点类型只有一种,就是 DECIMAL

浮点类型和定点类型都可以用(M, D)来表示,其中M称为精度,表示总共的位数;D称为标度,表示小数的位数

下表中列出了 MySQL 中的小数类型和存储需求。
在这里插入图片描述

3)日期/时间类型

包括 YEAR、TIME、DATE、DATETIME 和 TIMESTAMP。

下表中列出了 MySQL 中的日期与时间类型。
在这里插入图片描述

4)字符串类型

包括 CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM 和 SET 等。

下表中列出了 MySQL 中的字符串数据类型,括号中的M表示可以为其指定长度。
在这里插入图片描述
VARCHAR 和 TEXT 类型是变长类型,其存储需求取决于列值的实际长度(在前面的表格中用 L 表示),而不是取决于类型的最大可能尺寸。

5)二进制类型

包括 BIT、BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。

下表中列出了 MySQL 中的二进制数据类型,括号中的M表示可以为其指定长度。
在这里插入图片描述

本文相关参考文献:

[1] 百度经验.MySQL的10种数据类型[EB/OL]

[2]明日科技. MySQL从入门到精通[M].北京:清华大学出版社,2007

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值