还记得上一篇学习的内容吗?不记得再看一看MySQL学习第五天 MySQL数据库基本操作,温故可以知新!
数据类型是指列、存储过程参数、表达式和局部变量的数据特征,它决定了数据的存储方式,代表了不同的信息类型。MySQL中常用的的数据类型包括:数值类型、日期和时间类型和字符串类型等。
一、数值类型
MySQL支持所有标准SQL中的数值类型,其中包括严格数据类型(INTEGER、SMALLINT、DECIMAL、NUMBERIC),以及近似数值数据类型(FLOAT、REAL、DOUBLE、PRESISION),并在此基础上进行扩展。扩展后增加了TINYINT、MEDIUMINT、BIGINT这3种长度不同的整形,并增加了BIT类型,用来存放位数据。
(1).整型
在MySQL中支持的5个主要整数类型是TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT。这些类型在很大程度上是相同的,只有它们存储的值的大小是不相同的。
MySQL以一个可选的显示宽度指示器的形式对SQL标准进行扩展,这样当从数据库检索一个值时,可以把这个值加长到指定的长度。例如,指定一个字段的类型为INT(6),就可以保证所包含数字少于 6 个的值从数据库中检索出来时能够自动地用空格填充。需要注意的是,使用一个宽度指示器不会影响字段的大小和它可以存储的值的范围。万一我们需要对一个字段存储一个超出许可范围的数字,MySQL会根据允许范围最接近它的一端截短后再进行存储。还有一个比较特别的地方是,MySQL会在不合规定的值插入表前自动修改为0。
下面的表显示了需要的每个整数类型的存储和范围:
上面定义的都是有符号的,当然了,也可以加上UNSIGNED关键字,定义成无符号的类型,那么对应的取值范围就要翻翻了,比如:TINYINT UNSIGNED的取值范围为0~255。
例如我们存储人的年龄,就是使用TINYINT UNSIGNED:
CREATE TABBLE tb1( age TINYINT UNSIGNED, ); |
(2).浮点型
MySQL支持的三个浮点类型是FLOAT、DOUBLE和DECIMAL类型。FLOAT数值类型用于表示单精度浮点数值,而DOUBLE数值类型用于表示双精度浮点数值。与整数一样,这些类型也带有附加参数:一个显示宽度指示器和一个小数点指示器。比如语句 FLOAT(7,3) 规定显示的值不会超过7位数字,小数点后面带有3位数字。对于小数点后面的位数超过允许范围的值,MySQL会自动将它四舍五入为最接近它的值,再插入它。
DECIMAL数据类型用于精度要求非常高的计算中,这种类型允许指定数值的精度和计数方法作为选择参数。精度在这里指为这个值保存的有效数字的总个数,而计数方法表示小数点后数字的位数。比如语句DECIMAL(7,3) 规定了存储的值不会超过7位数字,并且小数点后不超过3位。
新闻热点
疑难解答