数据库数据类型

时间:2022-05-17 03:56:47

数据类型包括整型、浮点数类型和定点数类型、日期与时间类型、字符串和二进制类型。

一、整数类型

MySQL的整数类型分为5种:TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT

不同整数类型所占用的字节数和取值范围都是不同的。如下图:

数据库数据类型

 

 

二、浮点数和定点数类型

在MySQL中,存储的小数都是使用浮点数和定点数来表示的。
浮点数的类型有2种:单精度浮点数类型(FLOAT)、双精度浮点类型(DOUBLE)。

定点数类型只有1种:DECIMAL类型。

占用的字节数和取值范围如下图:

数据库数据类型

注意:--DECIMAL类型的取值范围与DOUBLE类型相同。
     --注意的是DECIMAL类型的有效取值范围是由M和D决定的。
     --其中,M表示的是数据的长度,D表示的是小数点后的长度。

 

 

三、时间与日期类型

在数据库中存储日期和时间,MySQL提供了表示日期和时间的数据类型:YEAR、DATE、TIME、DATETIME、TIMESTAMP

如下图列举了这些MySQL中日期和时间数据类型所对应的字节数、取值范围、日期格式以及零值。

数据库数据类型

注意:如果插入的数值不合法,系统会自动将对应的零值插入数据库中。

 

  三、字符串和二进制类型 为了存储字符串、图片和声音等数据,MySQL提供了字符串和二进制类型如下图:
类型 字节数(大小) 用途
CHAR 0-255字节 定长字节符
VARCHAR 0-65535字节 变长字节符
BLOB 0-65535字节 二进制形式的长文本数据
TINYBLOB 0-255字节 不超过255个字符的二进制字符串
MEDIUMBLOB 0-16777215字节 二进制形式的中等长度文本数据
LONGBLOB 0-4294967295字节 二进制形式的极大文本数据
TEXT 0-65535字节 长文本数据
TINYTEXT 0-255字节 短文本字符串
MEDIUMTEXT 0-16777215字节 中等长度文本数据
LONGTEXT 0-4294967295字节 极大文本数据
  注意:CHAR和VARCHAR类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。
   BINARY和VARBINARY类类似于CHAR和VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。
   BLOB是一个二进制大对象,可以容纳可变数量的数据。有4种BLOB类型:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它们只是可容纳值的最大长度不同。
   有4种TEXT类型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。这些对应4种BLOB类型,有相同的最大长度和存储需求。