第二章 Mysql数据类型简介
· 第一节:整数类型、浮点数类型和定点数类型
整型:
·TinyInt (1字节)
·SmallInt (2字节)
·MediumInt (3字节)
·Int和Integer(4字节)
·BigInt (8字节)
浮点数和定点数:
·Float (4字节)
·Double (8字节)
·Decimal(M,D) <定点数>(M表示总长度<包含小数点>,D表示小数位数)
· 第二节:日期与时间类型
·Year (1字节)
·Date (4字节)
·Time (3字节)
·DateTime (8字节)
·TimeStamp (4字节)
· 第三节:字符串类型
- Char(M)
M字节
M为0—255之间的整数。 - VarChar(M) M字节
M为0-65535之间的整数 长度是可变的。 - Text系列字符串类型。
- TinyText (0-255字节)。
- Text (0-65535字节)。
- MediumText(0-167772150字节)。
- LongText (0-4294967295字节)。
备注:UTF-8:一个汉字 = 3个字节,英文是一个字节;
GBK: 一个汉字 = 2个字节,英文是一个字节。
· 第四节:二进制类型
·binary(M)
M为字节 允许长度为0-M 。
·varbinary(M)
M为字节 允许长度为0-M 。
备注:如果无法区分各个整数的表示范围,可以通过查看mysql的系统帮助查看相关信息。
? mysql> help contents;
? mysql> help Data Types;
? mysql> help int;
备注:要求小数精确度非常高时选择,通常表示金额等优先选择decimal。
备注:每种日期和时间数据类型都有一个取值范围,如果插入的值超过了该类型的取值范围,则会插入默认值。
?如果要表示年月日,一般会使用date
?如果要表示年月日时分秒,一般会使用datetime
?如果需要经常插入或者更新日期为当前系统时间,一般会使用timestamp类型
?如果要表示时分秒,一般会使用time
?如果要表示年份,一般会使用year,因为该类型比date占用更少的空间
备注:这两个和前面的char 和 varchar类型,区别是char这组存储字符数据,binary可以存储二进制数据(图片、音乐、视频)。