mysql系列教程(十)—–mysql常见的数据类型

MySQL

之前为大家讲解了一些基础知识,其中也提到了一部分数据类型,今天详细讲解一下mysql中的常见的数据类型。

数值类型

整型

整数类型字节范围
Tinyint1有符号:-128~127
无符号:0~255
Smallint2有符号:-32768~32767
无符号:0~65535
Mediumint3有符号:-8388608~8388607
无符号:0~1677215
Int、integer4有符号:- 2147483648~2147483647
无符号:0~4294967295
Bigint8有符号:
-9223372036854775808
~9223372036854775807
无符号:0~
9223372036854775807*2+1
整型

小数

浮点数类型字节范围
float4±1.75494351E-38~±3.402823466E+38
double8±2.2250738585072014E-308~
±1.7976931348623157E+308
浮点数
定点数类型字节范围
DEC(M,D)
DECIMAL(M,D)
M+2最大取值范围与double相同,给定decimal的有效取值范围由M和D决定
定点数

位类型

位类型字节范围
Bit(M)1~8Bit(1)~Bit(8)
位类型

字符类型

char和vachar用来保存My SQL中较短的字符

字符串类型最多字符数描述及存储需求
char(M)MM为0~255之间的整数
vachar(M)MM为0~65535之间的整数
字符类型

binary和varbinary类型

  • 类似于char和varchar,不同的是它们包含二进制字符串而不包含非二 进制字符串。

Enum类型

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

Set类型

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

成员数字节数
1~81
9~162
17~243
25~324
33~648
Set类型

日期类型

日期和时间类型字节最小值最大值
date41000-01-019999-12-31
datetime81000-01-01 00:00:009999-12-31 23:59:59
timestamp4197001010800012038年的某个时刻
time3-838:59:59838:59:59
year119012155
日期类型

datetime和timestamp的区别

  • Timestamp支持的时间范围小,取值范围:19700101080001——2038年的某个时间
  • Datetime的取值范围:1000-1-1 ——9999—12-31
  • timestamp和实际时区有关,更能反映实际的日 期,而datetime则只能反映出插入时的当地时区
  • timestamp的属性受Mysql版本和SQLMode的影响 很大

本届就介绍到这里,欢迎小伙伴指正补充!

发表评论