数据类型
所谓的列类型,其实就是指数据类型,即对数据进行统一的分类,从系统的角度出发是为了能够使用统一的方式进行管理,更好的利用有限的空间。
在 SQL 中,将数据类型分成了三大类,分别为:数值型、字符串型和日期时间型。
选择正确的数据类型对于获得高性能至关重要,三大原则:
- 更小的通常更好,尽量使用可正确存储数据的最小数据类型
- 简单就好,简单数据类型的操作通常需要更少的CPU周期
- 尽量避免NULL,包含为NULL的列,对MySQL更难优化
1、数值型
- 精确数值
- INT
- TINYINT 微整型 1
- SMALLINT 小整型 2
- MEDIUMINT 中整型 3
- INT 整型 4
- BIGINT 大整型 8
- DECIMAL 精确定点型
- INT
- 近似数值
- 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
原文地址:https://www.cnblogs.com/Gmiaomiao/p/9196197.html
时间: 2024-10-08 07:21:09