This Domain(Admin5.com) is for Sale:

My SQL数据库实用技术(08)

时间:2007-12-23  来源:不详  作者:迈克DB

可以在列类型之后指定可选的类型说明属性,以及指定更多的常见属性。属性起修饰类型的作用,并更改其处理列值的方式,属性有以下类型:
■ 专用属性用于指定列。例如,UNSIGNED 属性只针对整型,而B I N A RY 属性只用于CHAR 和VA R C H A R。
■ 通用属性除少数列之外可用于任意列。可以指定NULL 或NOT NULL 以表示某个列是否能够存放N U L L。还可以用D E FA U LT def_value 来表示在创建一个新行但未明确给出该列的值时,该列可赋予值d e f _ v a l u e。def_value 必须为一个常量;它不能是表达式,也不能引用其他列。不能对BLOB 或TEXT 列指定缺省值。
假如想给出多个列的专用属性,可按任意顺序指定它们,只要它们跟在列类型之后、通用属性之前即可。类似地,假如需要给出多个通用属性,也可按任意顺序给出它们,只要将它们放在列类型和可能给出的列专用属性之后即可。本节其余部分讨论每个MySQL 的列类型,给出定义类型和描述它们的属性的语法,诸如取值范围和存储需求等。类型说明如在C R E ATE TABLE 语句中那样给出。可选的信息由方括号([ ])给出。如,语MEDIUMINT[(M)] 表示最大显示宽度(指定为M)是可选的。另一方面,对于C H A R ( M ),无方括号表示的(M) 是必须的。

内容来自dedecms


2.2.2 数值列类型
MySQL 的数值列类型有两种:
■ 整型。用于无小数部分的数,如1、4 3、- 3、0 或- 7 9 8 4 3 2。可对正数表示的数据使用整数列,如磅的近似数、英寸的近似数,银河系行星的数目、家族人数或一个盘子里的细菌数等。
■ 浮点数。用于可能具有小数部分的数,如3 . 1 4 1 5 9、- . 0 0 2 7 3、- 4 . 7 8、或3 9 . 3 E 4。可将浮点数列类型用于有小数点部分或极大、极小的数。可能会表示为浮点数的值有农作物平均产量、距离、钱数(如物品价格或工资)、失业率或股票价格等等。整型值也可
以赋予浮点列,这时将它们表示为小数部分为零的浮点值。每种数值类型的名称和取值范围如表2 - 5所示。各种类型值所需的存储量如表2-6 所示。
CREATE TABLE 语句
本章中例子中大量使用了C R E ATE TABLE 语句。您应该对此语句相当熟悉,因为我们在第1章中的教程部分使用过它。关于C R E ATE 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 以上。各种类型的存储量需求也是不同的。
dedecms.com

取值范围较大的类型所需的存储量较大。
MySQL 提供三种浮点类型: F L O AT、DOUBLE 和D E C I M A L。与整型不同,浮点类型不能是UNSIGNED 的,其取值范围也与整型不同,这种不同不仅在于这些类型有最大值,而且还有最小非零值。最小值提供了相应类型精度的一种度量,这对于记录科学数据来说是非常重要的(当然,也有负的最大和最小值)。
DOUBLE PRECISION[(M, D)] 和REAL[(M, D)] 为DOUBLE[(M, D)] 的同义词。而NUMERIC(M, D) 为DECIMAL(M, D) 的同义词。F L O AT(4) 和F L O AT(8) 是为了与ODBC 兼容而提供的。在MySQL 3.23 以前,它们为F L O AT(10, 2) 和DOUBLE(16, 4) 的同义词。自MySQL 3.23 以来,F L O AT(4) 和F L O AT(8) 各不相同,下面还要介绍。
在选择了某种数值类型时,应该考虑所要表示的值的范围,只需选择能覆盖要取值的范围的最小类型即可。选择较大类型会对空间造成浪费,使表不必要地增大,处理起来没有选择较小类型那样有效。对于整型值,假如数据取值范围较小,如人员年龄或兄弟姐妹数,则TINYINT 最合适。MEDIUMINT 能够表示数百万的值并且可用于更多类型的值,但存储代价较大。BIGINT 在全部整型中取值范围最大,而且需要的存储空间是表示范围次大的整型I N T类型的两倍,因此只在确实需要时才用。对于浮点值, D O U B L E占用F L O AT 的两倍空间。除非非凡需要高精度或范围极大的值,一般应使用只用一半存储代价的F L O AT 型来表示数据。

看完这篇,您有何感觉呢?

文章评论

共有位Admini5网友发表了评论 查看完整内容

24小时热门信息