1. 数据类型:指列、存储过程参数、表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型
(1) 整型(按存储范围分类):TINYINT(1字节) SAMLLINT(2字节) MEDIUMINT(3字节) INT(4字节) BIGINT(8字节)
数据优化的一个原则: 选择最合理、最合适的数据类型,而不是最大的数据类型。存储范围越大占的空间就越大。
(2) 浮点数(按存储范围分类):单精度浮点FLOAT [(M,D)] 双精度浮点DOUBLE[(M,D)];
M:数字总位数, D: 小数点后面的位数;M>=D; 如果M和D被省略,根据硬件允许的限制来保存值。单精度浮点数精确到大约7位小数位。
(3) 日期时间型(存储需求):YEAR(1) TIME(3) DATE(3) DATETIME(8) TIMESTAMP(时间戳)(4)
很多时候设计到日期时间类型,我们也更倾向于用数字类型表示,因为牵扯到跨时区问题。以后涉及到php再具体了解。
(4)字符型: CHAR(M): M 个字节, 0<=M<=255 没有达到指定长度时后面以空格补齐存储
VARCHAR(M): L+1个字节, L<=M 0<=M<=65535
TINYTEXT : L+1个字节, L<2^8
TEXT: L+2个字节, L<2^16
MEDIUMTEXT: L+3个字节, L<2^24
LONGTEXT: L+4个字节, L<2^32
ENUM(‘value1‘,‘value2‘,...):1或2个字节,取决于枚举值的个数(最多65535个值)
SET(‘value1‘,‘value2‘,...):集合,(这些值之中任意排列组合)1、2、3、4或者8个字节,取决于set成员的数目,最多64个成员
这些数据类型可以应用在数据表中,也可以用于数据存储过程、函数等等。