MySQL的数据类型:文本、数字、日期/时间

在MySQL中,有三种主要的类型:文本、数字和日期/时间类型。

文本类型(text):
数据类型                                 描述


CHAR(size)       

保存固定长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的长度。最多255 个字符。


VARCHAR(size) 
保存可变长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的最大长度。最多255 个字符。(注释:如果值的长度大于255,则被转换为TEXT 类型)


TINYTEXT 

存放最大长度为255 个字符的字符串。


TEXT 

存放最大长度为65,535 个字符的字符串。


BLOB

用于BLOBs (Binary Large OBjects)。存放最多65,535 字节的数据。2^16B


MEDIUMTEXT 

存放最大长度为16,777,215 个字符的字符串。2^24


MEDIUMBLOB 

用于BLOBs (Binary Large OBjects)。存放最多16,777,215 字节的数据。2^24B


LONGTEXT 

存放最大长度为4,294,967,295 个字符的字符串。2^32


LONGBLOB

用于BLOBs (Binary Large OBjects)。存放最多4,294,967,295 字节的数据。2^32B


ENUM(x,y,z,etc.) 
允许你输入可能值的列表。可以在ENUM 列表中列出最大65535 个值。如果列表中不存在插入的值,则插入空值。注释:这些值是按照你输入的顺序存储的。可以按照此格式输入可能的值:ENUM('X','Y','Z')
SET 与 ENUM 类似,SET 最多只能包含 64 个列表项,不过 SET 可存储一个以上的值。


数字类型(number):
数据类型                     描述


TINYINT(size) 

-128 到127 常规。0 到255 无符号*。在括号中规定最大位数。2^8b


SMALLINT(size) 

-32768 到32767常规。0 到65535 无符号*。在括号中规定最大位数。2^16b


MEDIUMINT(size)

 -8388608 到 8388607 普通。0~16777215 无符号*。在括号中规定最大位数。2^24b

INT(size) 

-2147483648 到2147483647 常规。0 到4294967295 无符号*。在括号中规定最大位数。2^32b


BIGINT(size) 

-9223372036854775808 到9223372036854775807 常规。0 到18446744073709551615 无符号*。在括号中规定最大位数。2^64b


FLOAT(size,d) 

带有浮动小数点的小数字。在括号中规定最大位数。在d 参数中规定小数点右侧的最大位数。

DOUBLE(size,d) 

带有浮动小数点的大数字。在括号中规定最大位数。在d 参数中规定小数点右侧的最大位数。


DECIMAL(size,d) 

作为字符串存储的DOUBLE 类型,允许固定的小数点。
* 这些整数类型拥有额外的选项UNSIGNED。通常,整数可以是负数或正数。如果添加UNSIGNED 属性,那么范围将从0 开始,而不是某个负数。


Date 类型:
数据类型                                       描述

DATE() 
日期。格式:YYYY-MM-DD,注释:支持的范围是从'1000-01-01' 到'9999-12-31'

DATETIME() 
*日期和时间的组合。格式:YYYY-MM-DD HH:MM:SS,注释:支持的范围是从'1000-01-01 00:00:00' 到'9999-12-31 23:59:59'


TIMESTAMP() 
*时间戳。TIMESTAMP 值使用Unix 纪元('1970-01-01 00:00:00' UTC) 至今的描述来存储。格式:YYYY-MM-DD HH:MM:SS,注释:支持的范围是从'1970-01-01 00:00:01'UTC 到'2038-01-09 03:14:07'UTC


TIME()

时间。格式:HH:MM:SS 注释:支持的范围是从'-838:59:59' 到'838:59:59'


YEAR() 
2 位或4 位格式的年。注释:4位格式所允许的值:1901到2155。2位格式所允许的值:70到69,表示从 1970到2069。
* 即便DATETIME和TIMESTAMP返回相同的格式,它们的工作方式很不同。在INSERT或UPDATE 查询中,TIMESTAMP自动把自身设置为当前的日期和时间。TIMESTAMP也接受不同的格式,比如 YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD或YYMMDD。

http://blog.sina.com.cn/s/blog_a48039740100zh1e.html

原文地址:https://www.cnblogs.com/itommy/p/10610501.html