MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型,其中最常用的为以下7种。
INT/INTEGER | 4bytes | 普通大小的整数,-2147483648(-2^31)到 2147483647(2^31-1),0到4294967295(2^32-1) |
DOUBLE[(M,D)] | 8bytes | 普通大小(双精度)浮点数,允许的 值-1.7976931348623157E+380 到-2.2250738585072014E-308,0和 2.2250738585072014E-38到 1.7976931348623157E+308.这些是理论限制, 基于IEEE标准。实际的范围根据硬件或操作 系统的不同可能稍微小些 |
DATE | 日期,支持的范围为‘1000-01-01’到‘9999-12- 31’,MySQL以'YYYY-MM-DD'格式显示 DATE值,但允许使用字符串('20230721' / '2023-07-21' )或数字(20230721)为DATE列分 配值 | |
DATETIME | 日期和时间的组合。支持的范围是‘上面加上 00:00:00’到‘上面第二个加上23:59: 59’.MySQL以YYYY-MM-DD HH:MM:SS“格式 显示DATETIME值,但允许使用字符串或数字 为DATETIME列分配值 | |
TIMESTAMP | 时间戳,范围是'1970-01-01 00:00:00'到2037年 | |
CHAR(M) | 0-255 bytes | 固定长度字符串,当保存时在右侧填充空格以 达到指定长度。M表示列长度。M的范围是0 到255个字符 |
VARCHAR(M) | 0-65535 bytes | 变长字符串。M表示最大列长度。M的范围是 0到65535.(VARCHAR的最大实际长度由最长 的行的大小和使用的字符集确定。最大有效长 度是65535字节) |
decimal(12,2):数字类型,括号中表示数字长度为12,其中,小数点后占两位,因为小数点也占一位,所以整数位有9位
ps:char 与 varchar 都可以描述字符串,char是定长字符串,指定长度多长,就占用多少个字符, 和字段值的长度无关。而varchar是变长字符串,指定的长度为最大占用长度 。