MySQL数据类型

MySQL常用数据类型

数据类型 大小 范围(有符号,无符号时x2) 对应Java数据类型
整数
tiny int 1 字节 -128 ~ 127 Integer
small int 2 字节 -32 768 ~ 32 767 Integer
medium int 3 字节 -8 388 608 ~ 8 388 607 Integer
int或Integer 4 字节 -2 147 483 648 ~ 2 147 483 647 Long
big int 8 字节 ± 9x10的18次方 java.math.BigInteger
浮点数
float 4字节 Float
double 8字节 Double
字符串
char 定长字符串,0 ~ 255 字节 String
varchar 变长字符串,0 ~ 65535 字节 String
text 长文本数据,0 ~ 65535 字节 String
日期与时间
year 1字节 YYYY java.sql.Date
date 3字节 YYYY-MM-DD java.sql.Date
time 3字节 HH:MM:SS java.sql.Time
date time 8字节 YYYY-MM-DD HH:MM:SS java.sql.Timestamp
time stamp 8字节 时间戳,表示当前时间到 Unix元年的秒数,格式与date time一样,适用于不同时区 java.sql.Timestamp

数值类型小解

  • int(11)
    (1)11表示的是显示宽度,与该字段存储大小无关,超出显示宽度仍然会存储,只有超出存储范围时才会截取;
    (2)若该字段使用zerofill,则不足位用0补充。

  • int与integer没有区别,只是两种形式,对应的Java类型位Long,因为无符号时范围超过了Integer的范围。

字符类型小解

  • 占用大小
    一个英文字符占用一个字节;
    gbk编码,一个字符最多2个字节;
    utf-8编码,一个字符最多3个字节。
  • char
    0~255,定长字符串,比范围大的值会被截断,小的将用空格作填补。
  • varchar
    0~65535,变长字符串,比范围大的值会被截断,小的则不会填补。

你可能感兴趣的:(MySQL)