表3:数值列类型的存储需求
MySQL提供了五种整型: TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT。INT为INTEGER的缩写。这些类型在可表示的取值范围上是不同的。整数列可定义为UNSIGNED从而禁用负值;这使列的取值范围为0以上。各种类型的存储量需求也是不同的。取值范围较大的类型所需的存储量较大。
MySQL 提供三种浮点类型: FLOAT、DOUBLE和DECIMAL。与整型不同,浮点类型不能是UNSIGNED的,其取值范围也与整型不同,这种不同不仅在于这些类型有最大值,而且还有最小非零值。最小值提供了相应类型精度的一种度量,这对于记录科学数据来说是非常重要的(当然,也有负的最大和最小值)。
在选择了某种数值类型时,应该考虑所要表示的值的范围,只需选择能覆盖要取值的范围的最小类型即可。选择较大类型会对空间造成浪费,使表不必要地增大,处理起来没有选择较小类型那样有效。对于整型值,假如数据取值范围较小,如人员年龄或兄弟姐妹数,则TINYINT最合适。MEDIUMINT能够表示数百万的值并且可用于更多类型的值,但存储代价较大。BIGINT在全部整型中取值范围最大,而且需要的存储空间是表示范围次大的整型INT类型的两倍,因此只在确实需要时才用。对于浮点值,DOUBLE占用FLOAT的两倍空间。除非非凡需要高精度或范围极大的值,一般应使用只用一半存储代价的FLOAT型来表示数据。
在定义整型列时,可以指定可选的显示尺寸M。假如这样,M应该是一个1 到255的整数。它表示用来显示列中值的字符数。例如,MEDIUMINT(4)指定了一个具有4个字符显示宽度的MEDIUMINT列。假如定义了一个没有明确宽度的整数列,将会自动分配给它一个缺省的宽度。缺省值为每种类型的“最长”值的长度。假如某个特定值的可打印表示需要不止M个字符,则显示完全的值;不会将值截断以适合M个字符。
对每种浮点类型,可指定一个最大的显示尺寸M 和小数位数D。M 的值应该取1 到255。D的值可为0 到3 0,但是不应大于M - 2(假如熟悉ODBC 术语,就会知道M 和D 对应于ODBC 概念的“精度”和“小数点位数”)。M和D对FLOAT和DOUBLE 都是可选的,但对于DECIMAL是必须的。在选项M 和D时,假如省略了它们,则使用缺省值。
2.2字符串列类型
MySQL提供了几种存放字符数据的串类型,其类型如下:
类型名 | 说明 | ||
| CHAR | 定长字符串 | ||
| VARCHAR | 可变长字符串 | ||
| TINYBLOB | 非常小的BLOB(二进制大对象) | ||
| BLOB | 小BLOB | ||
| MEDIUMBLOB | 中等的BLOB | ||
| LONGBLOB | 大BLOB | ||
| TINYTEXT | 非常小的文本串 | ||
| TEXT | 小文本串 | ||
| MEDIUMTEXT | 中等文本串 | ||
| LONGTEXT | 大文本串 | ||
| ENUM | 枚举;列可赋予某个枚举成员 | ||
| 共6页: 上一页 [1] [2] 3 [4] [5] [6] 下一页 | |||
![]() |