1. 前言
MySQL 中支持的数据类型从整体上可以分为数值类型和日期时间类型,其中数值类型可以分为整数类型、浮点数类型、定点数类型和位类型。整数类型包含常见的 SMALLINT、MEDIUMINT、INT、BIGINT,浮点数类型主要是 FLOAT 单精度浮点数类型和 DOUBLE 双精度浮点数类型。日期类型也有 DATE、TIME、YEAR、DATETIME、TIMESTAMP 类型。关于整数类型和浮点数类型存在一些比较常见的误区,经常被面试官考察。
2. int (3) 和 int (11)
面试官提问: MySQL 中 int (3) 和 int (11) 这两种用法有什么区别呢?
题目解析:
这道题非常常见,但是没有仔细了解过 MySQL 中 int
数据类型用法的同学,很容易掉进误区。
我们知道 varchar(m)
用于修饰变长字符,其中 m 表示能够存储的字符上限。
例如 username varchar(2)
在 MySQL 5.0 之后的版本表示最多接受 2 个汉字的字符作为用户名存储,如果长度超限会报错:ERROR 1406 (22001): Data too long for column 'usern