
数据类型
所谓的列类型,其实就是指数据类型,即对数据进行统一的分类,从系统的角度出发是为了能够使用统一的方式进行管理,更好的利用有限的空间。
在 SQL 中,将数据类型分成了三大类,分别为:数值型、字符串型和日期时间型。

选择正确的数据类型对于获得高性能至关重要,三大原则:
- 更小的通常更好,尽量使用可正确存储数据的最小数据类型
- 简单就好,简单数据类型的操作通常需要更少的CPU周期
- 尽量避免NULL,包含为NULL的列,对MySQL更难优化
1、数值型
-  精确数值 -  INT -  TINYINT 微整型 1 
-  SMALLINT 小整型 2 
-  MEDIUMINT 中整型 3 
-  INT 整型 4 
-  BIGINT 大整型 8 
 
-  
-  DECIMAL 精确定点型 
 
-  
-  近似数值 -  FLOAT 单精度浮点型 4 
-  DOUBLE 双精度浮点型 8 
-  REAL 
-  BIT 
 
-  
2、字符型
-  定长 -  CHAR(不区分大小写)255 
-  BINARY(区分大小写) 
 
-  
-  变长 -  VARCHAR(不区分大小写)65,535 
-  VARBINNARY(区分大小写) 
 
-  
-  TEXT(不区分大小写) -  TINYTEXT 255 
-  TEXT 65,535 
-  MEDIUMTEXT 16,777,215 
-  LONGTEXT 4,294,967,295 
 
-  
-  BLOB(区分大小写) -  TINYBLOB 微二进制大对象 255 
-  BLOB 二进制大对象 64K 
-  MEDIUMBLOB 中二进制大对象 16M 
-  LONGBLOB 长二进制大对象 4G 
 
-  
-  ENUM 枚举 65535种变化 
-  SET 集合 1-64个字符串,可以随意组合 
3、日期时间型
-  DATE 3 
-  TIME 3 
-  DATETIME 8 
-  TIMESTAMP 4 
-  YEAR{2|4} 1 
4、布尔型
- BOOL,BOOLEAN:布尔型,是TINYINT(1)的同义词。zero值被视为假。非zero值视为真。
详情请参考官方文档:https://dev.mysql.com/doc/refman/5.5/en/data-types.html