MYSQL学习之路——常见的数据类型

通过本章学习,您将可以:

  • 数值类型
  • 字符类型
  • 日期类型
数值类型
整数类型 字节 范围
Tinyint 1

有符号:-128~127

无符号:0~255

Smallint 2

有符号:-32768~32767

无符号:0~1677215

Mediumint 3

有符号:-8388608~8388607

无符号:0~1677215

Int、Integer 4

有符号:-2147483648~2147483647

无符号:0~4294967295

Bigint 8

有符号:-9223372036854775808

~9223372036854775807

无符号:0~9223372036854775807*2+1

小数
浮点数类型 字节 范围
float 4 \pm1.75494351E-38~\pm3.402823466E+38
double 8 \pm2.2250738585072014E-308~\pm1.79769313486231157E+308
定点数类型 字节 范围

DEC(M,D)

DECIMAL(M,D)

M+2 最大取值范围与double相同,给定decimal的有效数值取值范围由M和D决定
位类型
位类型 字节 范围
Bit(M) 1~8 Bit(1)~Bit(8)
字符类型
字符串类型 最多字符数 描述及存储要求
char(M) M M为0~255之间的整数
varchar(M) M M为0~65535之间的整数

binary和varbinary类型:类似于char和varchar,不同的时它们包含二进制字符串而不包含非二进制字符串。

Enum类型:又称为枚举类型,要求插入的值必须属于列表中指定的值之一。如果列表成员为1~255,则需要1个字节存储如果列表成员为255~65535,则需要2个字节存储,最多需要35535个成员!

Set类型:和Enum类型类似,里面可以保存0~64个成员,和Enum类型最大的区别是:SET类型一次可以选取多个成员,而Enum只能选一个,根据成员个数不通过,存储所占的字节也不同

日期类型
日期和时间类型 字节 最小值 最大值
date 4 1000-01-01 9999-12-31
datetime 8 1000-01-01 00:00:00 9999-12-31 23:59:59
timestamp 4 19700101080001 2038年的某个时间
time  3 -838:59:59 838:59:59
year 1 1901 2155

Datatime和Timestamp的区别:

  1. Timestamp支持的时间范围比较小,Datetime的取值范围较大
  2. Timestamp和时区相关,可以根据时区更改而更改时间,更能反应实际的日期,而Datetime只能反映出插入时的当时地区
  3. Timestamp的属性受Mysql版本和SQLModel的影响很大

猜你喜欢

转载自blog.csdn.net/CSDN_XUWENHAO/article/details/88773616
今日推荐