WEB开发网
开发学院数据库MySQL Mysql入门系列:MySQL的列类型(1) 阅读

Mysql入门系列:MySQL的列类型(1)

 2006-12-31 10:48:03 来源:WEB开发网   
核心提示: 以赋予浮点列,这时将它们表示为小数部分为零的浮点值,Mysql入门系列:MySQL的列类型(1)(4),每种数值类型的名称和取值范围如表2 - 5所示,各种类型值所需的存储量如表2-6 所示, D O U B L E占用FLOAT的两倍空间,除非特别需要高精度或范围极大的值,CREATE

以赋予浮点列,这时将它们表示为小数部分为零的浮点值。每种数值类型的名称和取值范围如表2 - 5所示。各种类型值所需的存储量如表2-6 所示。

CREATE TABLE 语句

本章中例子中大量使用了CREATE TABLE 语句。您应该对此语句相当熟悉,因为我们在第1章中的教程部分使用过它。关于CREATE TABLE 语句也可参阅附录D。

MySQL提供了五种整型: T I N Y I N T、S M A L L I N T、M E D I U M I N T、INT 和B I G I N T。I N T 为I N T E G E R的缩写。这些类型在可表示的取值范围上是不同的。整数列可定义为UNSIGNED 从而禁用负值;这使列的取值范围为0 以上。各种类型的存储量需求也是不同的。

取值范围较大的类型所需的存储量较大。

MySQL提供三种浮点类型: FLOAT、DOUBLE 和DECIMAL。与整型不同,浮点类型不能是UNSIGNED 的,其取值范围也与整型不同,这种不同不仅在于这些类型有最大值,而且还有最小非零值。最小值提供了相应类型精度的一种度量,这对于记录科学数据来说是非常重要的(当然,也有负的最大和最小值)。

DOUBLE PRECISION[(M, D)] 和REAL[(M, D)] 为DOUBLE[(M, D)] 的同义词。而NUMERIC(M, D) 为DECIMAL(M, D) 的同义词。FLOAT(4) 和FLOAT(8) 是为了与ODBC 兼容而提供的。在MySQL3.23 以前,它们为FLOAT(10, 2) 和DOUBLE(16, 4) 的同义词。自MySQL3.23 以来,FLOAT(4) 和FLOAT(8) 各不相同,下面还要介绍。

在选择了某种数值类型时,应该考虑所要表示的值的范围,只需选择能覆盖要取值的范围的最小类型即可。选择较大类型会对空间造成浪费,使表不必要地增大,处理起来没有选择较小类型那样有效。对于整型值,如果数据取值范围较小,如人员年龄或兄弟姐妹数,则TINYINT 最合适。MEDIUMINT 能够表示数百万的值并且可用于更多类型的值,但存储代价较大。BIGINT 在全部整型中取值范围最大,而且需要的存储空间是表示范围次大的整型I N T类型的两倍,因此只在确实需要时才用。对于浮点值, D O U B L E占用FLOAT的两倍空间。除非特别需要高精度或范围极大的值,一般应使用只用一半存储代价的FLOAT型来表示数据。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:Mysql 入门 系列

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接