This Domain(Admin5.com) is for Sale:

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

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

数据库中的每个表都是由一个或多个列构成的。在用C R E ATE TABLE 语句创建一个表时,要为每列指定一个类型。列的类型比数据类型更为非凡,它仅仅是如“数”或“串”这样的通用类型。列的类型精确地描述了给定表列可能包含的值的种类,如SMALLINT 或VA R C H A R ( 3 2 )。
MySQL 的列类型是一种手段,通过这种手段可以描述一个表列包含什么类型的值,这又决定了MySQL 怎样处理这些值。例如,数值值既可用数值也可用串的列类型来存放,但是根据存放这些值的类型, MySQL 对它们的处理将会有些不同。每种列类型都有几个特性如下:
■ 其中可以存放什么类型的值。
■ 值要占据多少空间,以及该值是否是定长的(所有值占相同数量的空间)或可变长的(所占空间量依靠于所存储的值)。
■ 该类型的值怎样比较和存储。
■ 此类型是否答应NULL 值。
■ 此类型是否可以索引。
我们将简要地考察一下M y S Q L列类型以获得一个总的概念,然后更具体地讨论描述每种列类型的属性。
2.2.1 列类型概述
MySQL 为除NULL 值以外的所有通用数据类型的值都提供了列类型。在列是否能够包含NULL 值被视为一种类型属性的意义上,可认为所有类型都包含N U L L属性。M y S Q L有整数和浮点数值的列类型,如表2 - 2所示。整数列类型可以有符号也可无符号。有一种非凡的属性答应整数列值自动生成,这对需要唯一序列或标识号的应用系统来说是非常有用的。 本文来自织梦

MySQL 串列类型如表2 - 3所示。串可以存放任何内容,即使是像图像或声音这样的绝对二进制数据也可以存放。串在进行比较时可以设定是否区分大小写。此外,可对串进行模式匹配(实际上,在MySQL 中可以在任意列类型上进行模式匹配,但最经常进行模式匹配还是在串类型上)

日期与时间列类型在表2 - 4中示出。对于临时值, MySQL 提供了日期(有或没有时间)、时间和时间戳(一种答应跟踪对记录何时进行最后更改的非凡类型)的类型。而且还提供了一种在不需要完整的日期时有效地表示年份的类型。

要创建一个表,应使用C R E ATE TABLE 语句并指定构成表列的列表。每个列都有一个名字和类型,以及与每个类型相关的各种属性。下面是创建具有三个分别名为f、c 和i 的列的表my_table 的例子:

定义一个列的语法如下:
dedecms.com
其中列名由col_name 给出。列名可最多包含64 个字符,字符包括字母、数字、下划线及美元符号。列名可以名字中合法的任何符号(包括数字)开头。但列名不能完全由数字组成,因为那样可能使其与数据分不开。M y S Q L保留诸如S E L E C T、DELETE 和C R E ATE 这样的词,这些词不能用做列名。但是函数名(如POS 和M I N)是可以使用的。
列类型col_type 表示列可存储的特定值。列类型说明符还能表示存放在列中的值的最大长度。对于某些类型,可用一个数值明确地说明其长度。而另外一些值,其长度由类型名蕴含。例如,CHAR(10) 明确指定了10 个字符的长度。而TINYBLOB 值隐含最大长度为2 5 5个字符。有的类型说明符答应指定最大的显示宽度(即显示值时使用多少个字符)。浮点类型答应指定小数位数,所以能控制浮点数的精度值为多少。

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

文章评论

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

24小时热门信息