首页 > 代码库 > MySQL的数据类型

MySQL的数据类型

在MySQL数据库中,每一条数据都有其数据类型。MySQL支持的数据类型主要分成3类:数字类型、字符串(字符)类型、日期和时间类型。

数字类型

MySQL支持所有的ANSI/ISO SQL 92数字类型。这些类型包括准确数字的数据类型(NUMERIC、DECIMAL、INTEGER和SMALLINT),还包括近似数字的数据类型(FLOAT、REAL和DOUBLE PRECISION)。其中的关键词INT是INTEGER的同义词,关键词DEC是DECIMAL的同义词。

技术分享技术分享

在创建表时,使用哪种数字类型,应遵循以下原则:

(1)选择最小的可用类型,如果值永远不超过127,则使用TINYINT比INT好。

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

(3)浮点类型用于可能具有小数部分的数。例如货物单价、网上购物交付金额等。

字符串类型

字符串类型可以分为3类:普通的文本字符串类型(CHAR和VARCHAR)、可变类型(TEXT和BLOB)和特殊类型(SET和ENUM)。它们之间都有一定的区别,取值的范围不同,应用的地方也不同。

(1)普通的文本字符串类型,即CHAR和VARCHAR类型,CHAR列的长度被固定为创建表所声明的长度,取值在1~255之间;VARCHAR列的值是变长的字符串,取值和CHAR一样。

(2)TEXT和BLOB类型。它们的大小可以改变,TEXT类型适合存储长文本,而BLOB类型适合存储二进制数据,支持任何数据,例如文本、声音和图像等。

技术分享

(3)特殊类型SET和ENUM。

技术分享

在创建表时,使用字符串类型时应遵循以下原则:

(1)从速度方面考虑,要选择固定的列,可以使用CHAR类型。

(2)要节省空间,使用动态的列,可以使用VARCHAR类型。

(3)要将列中的内容限制在一种选择,可以使用ENUM类型。

(4)允许在一个列中有多于一个的条目,可以使用SET类型。

(5)如果要搜索的内容不区分大小写,可以使用TEXT类型。

(6)如果要搜索的内容区分大小写,可以使用BLOB类型。

日期和时间数据类型

日期和时间类型包括:DATETIME、DATE、TIMESTAMP、TIME和YEAR。其中的每种类型都有其取值的范围,如赋予它一个不合法的值,将会被“0”代替。

技术分享

在MySQL中,日期的顺序是按照标准的ANSISQL格式进行输出的。

 

 

 

 

 

 

 

MySQL的数据类型