一整数
标准 SQL 中支持 INTEGER 和 SMALLINT,MySQL 扩展了 TINYINTMEDIUMINT 和 BIGINT
MySQL 支持指定数据类型的显示宽度, 例如 INT(8) 指定 INT 类型的显示宽度为 8
MySQL 支持 SQL 标准中的 BOOL 和 BOOLEAN, 但会转换成 TINYINT(1)
二浮点数和定点数
MySQL 使用浮点数 FLOATDOUBLE 和定点数 DECIMAL 来表示小数
MySQL 支持指定浮点数和定点数的精度和标度, 精度指数据的总长度, 标度指小数点后的长度例如 DECIMAL(M,D) 指定精度为 M, 标度为 D
DECIMAL 的存储空间是根据其精度决定的, 若未指定则默认为 10 位整数
三日期和时间
YEARDATETIMEDATETIME 和 TIMESTAMP 表示日期和时间
除 TIMESTAMP 外使用 CURRENT_TIME 或 NOW() 获取当前系统时间, TIMESTAMP 则使用 CURRENT_TIMESTAMPNULL 或不指定值来获取当前系统时间
四字符串
CHAR 和 VARCHAR 类型均在创建时指定最大长度, 例如 CHAR(32) 指定了该字符串的最大长度为 32VARCHAR 可在最大长度内动态分配空间
TEXT 只能保存字符数据, 包括 TINYTEXTTEXTMEDIUMTEXT 和 LONGTEXT
ENUM 和 SET 是预定义的字符串列表, 其中 ENUM 列表中的字符串会按声明顺序编号 ENUM 只能从列表中选择单值, SET 可选择多值
五二进制
BINARY 和 BARBINARY 类型均在创建时指定最大长度, 例如 BINARY(32) 指定了该二进制数的最大长度为 32VARBINARY 可在最大长度内动态分配空间
BIT 类型也在创建时指定最大长度, 但不同的是 BIT 支持的最大长度为 64
BLOBTINYBLOBMEDIUMBLOB 和 LONGBLOB 类型用于保存数据量很大的二进制数据, 例如图片等
来源: http://www.bubuko.com/infodetail-2524182.html