MySQL数据库从入门到精通学习第4天(MySQL数据类型)

数字类型

MySQL支持的数字类型包括:
准确数字类型NUMERIC(数字)、DECIMAL(十进制)、INTEGER(整数)、SMALLINT(小数)。

近似数字类型FLOAT(浮点数)、REAL(实数)、DOUBLEPRECISION(双精度)。

提示: INT和INTEGER是同一个意思,都表示整数;DEC和DECIMAL也是同一个意思,表示十进制数。

大体上数字类型可以分为整数浮点两种数据类型,可以用下表进行表示:

整数数据类型

数据类型 意义 大小
TINYINT 最小的整数 1字节
BIT 最小的整数 1字节
BOOL 最小的整数 1字节
SMALLINT 小型整数 2字节
MEDIUMINT 中型整数 3字节
INT 标准整数 4字节
BIGINT 大型整数 8字节

以上INT数据类型使用的比较多,其他的了解就可以。

浮点数据类型

数据类型 意义 大小
FLOAT 单精度浮点数 4字节
DOUBLE 双精度浮点数 8字节
DECIMAL 可变数 自定义长度

注意:FLOAT和DOUBLE存在误差问题,尽量不进行浮点数的比较。在对货币这样的使用数据类型,为了确保其精准度,应该使用DECIMAL类型。

字符串类型

MySQL字符串类型包括:
普通的文本字符串类型:CHAR、VARCHAR。

CAHR指长度被固定为创建表所声明的长度,VARCHAR指长度可变的字符串,他们的取值都为1~255。即存储字符串长度相同的全部使用CHAR类型,字符长度不相同的使用VARCHAR类型。

可变类型:TEXT、BLOB。

这两种类型为可变类型,大小可以被改变,TXET类型适合存储长文本,而BLOB类型适合存储二进制数据,支持所有的数据类型,如文本、图像和声音,大小为2字节。

特殊类型:ESUM、SET。

ESUM("value1","value2",...): 表示可以容纳所列值之一或者为空(NULL),即当使用时这列的值只能为ESUM括号当中的值之一或者为NULL,例如ESUM(“a”,“b”),那么这一列的值就只能为【“a”,“b”,“ab”,NULL】这四个值当中的任意一个,大小为2字节。

SET("value1","value",...): 表示可以容纳一组值或者为空(NULL),跟GET的区别就是可以容纳多个括号中列举出的值,但是他的长度最大只有64。

注意: BLOB、TEXT、ESUM、SET这些类型在MySQL数据库中的检索性能不是很高,很难使用索引进行相关的优化。所以一般不使用,如果必须要使用,则可以用其他的数据类型进行代替或采用特殊的结构设计。

日期和时间类型

日期和时间类型包括:
DATE:日期,格式为YYYY-MM-DD。范围为:1000-01-01 ~ 9999-12-31

TIME:时间,格式为HH:MM:SS。范围为:00:00:00 ~ 23:59:59

DATETIME:日期和时间,格式为YYYY-MM-DD HH:MM:SS。范围为:1000-01-01 00:00:00 ~ 9999-12-31 23:59:59

TIMESTAMP:时间戳,即时间标签,表示当前操作的时间。他的格式取决于M的值。范围为:1970-01-01 00:00:00 ~ 2037年的某个时间

YEAR:年份,格式为两位数字或者四位数字。范围为:1901 ~ 2155

注意: 上面的每种数据类型都有自己的取值范围,如果赋予的值不在其范围内,则会被”0“代替。

猜你喜欢

转载自blog.csdn.net/m0_67021058/article/details/130682075