黑猴子的家:mysql 常见的数据类型

1、整型
整数类型 字节 范围
Tinyint 1 有符号:-128~127 无符号:0~255
Smallint 2 有符号:-32768~32767 无符号:0~65535
Mediumint 3 有符号:-8388608~8388607 无符号:0~1677215 (好吧,反正很大,不用记住)
Int、integer 4 有符号:- 2147483648~2147483647 无符号:0~4294967295(好吧,反正很大,不用记住)
Bigint 8 有符号: -9223372036854775808 ~9223372036854775807 无符号:0~9223372036854775807*2+1 (好吧,反正很大,不用记住)
2、小数
浮点数类型 字节 范围
float 4 ±1.75494351E-38~±3.402823466E+38 (好吧,反正很大,不用记住)
double 8 ±2.2250738585072014E-308 ~ ±1.7976931348623157E+308 (好吧,反正很大,不用记住)
3、定点数
定点数类型 字节 范围
DEC(M,D) DECIMAL(M,D) M+2 最大取值范围与double相同,给定decimal的有效取值范围由M和D决定
4、位类型
位类型 字节 范围
Bit(M) 1~8 Bit(1)~bit(8)
5、char和varchar类型
字符串类型 最多字符数 描述及存储需求
char(M) M M为0~255之间的整数
varchar(M) M M为0~65535之间的整数

说明:用来保存MySQL中较短的字符串

6、binary和varbinary类型

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

7、Enum类型

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

8、Set类型

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

成员数 字节数
1~8 1
9~16 2
17~24 3
25~32 4
33~64 8
9、时间类型
日期和时间类型 字节 最小值
date 4 1000-01-01
datetime 8 1000-01-01 00:00:00
timestamp 4 19700101080001
time 3 -838:59:59
year 1 1901
10、datetime和timestamp的区别

(1)Timestamp支持的时间范围较小,取值范围: 1970-01-01-08:00:01——2038年的某个时间
Datetime的取值范围:1000-1-1 ——9999—12-31

(2)timestamp和实际时区有关,更能反映实际的日期,而datetime则只能反映出插入时的当地时区

(3)timestamp的属性受Mysql版本和SQLMode的影响很大

你可能感兴趣的:(黑猴子的家:mysql 常见的数据类型)