数值:
整数,浮点数或小数
TINYINT (1)
SMALLINT(2)
MEDIUMINT(3)
INT(4)
BIGINT(8)
FLOAT(4)
DOUBLE(8)
DECIMAL(M,D)
字符串类型:
1英文字符 占用1字节
1个中文字符 占用2个字节
CHAR (0-255)
VARCHAR(0-255)
TINYTEXT(0-255)
BLOB TEXT :用于存储文本块,图像,声音等二进制数据类型
BINARY:
强制他后面的字符串为一个二进制字符串,可以理解为字符串比较的时候区分大小写
CHAR:
必须在圆括号内用一个大小修饰符来定义。长的被截断,短的用空格填补
VARCHAR :它是一种可变长度的字符串类型,并且也必须带有一个范围在 0-255 之间的指示器
时间类型:
DATE(3 YYYY-MM-DD)
TIME(3 HH:MM:SS)
YEAR(1 YYYY)
DATETIME(8 YYYY-MM-DD HH:MM:SS)
TIMESTAMP(8 YYYYMMDD HHMMSS)
DATE、TIME 和 YEAR 类型
MySQL 用 DATE 和 YEAR 类型存储简单的日期值,使用 TIME 类型存储时间值。这些类型可以描述为字符串或不带分隔符的整数序列。如果描述为字符串,DATE 类型的值应该使用连字号作为分隔符分开,而 TIME 类型的值应该使用冒号作为分隔符分开。
DATETIME 和 TIMESTAMP 类型
除了日期和时间数据类型,MySQL 还支持 DATETIME 和 TIMESTAMP 这两种混合类型。它们可以把日期和时间作为单个的值进行存储。这两种类型通常用于自动存储包含当前日期和时间的时间戳,并可在需要执行大量数据库事务和需要建立一个调试和审查用途的审计跟踪的应用程序中发挥良好作用。
浮点数与精度数值
浮点数float在储存空间及运行效率上要优于精度数值类型decimal,float与double会有舍入错误而decimal则可以更加准确的小数级精确运算,不会有错误产生,计算更精确,适用于金融类型数据的存储。