Mysql入门系列:MySQL的列类型(2)
2006-12-31 10:47:43 来源:WEB开发网核心提示: 然后,特定的SET 值将表示顾客实际订购哪些选件,Mysql入门系列:MySQL的列类型(2)(7),如下所示:空串表示顾客未订购任何选件,这是一个合法的SET 值,这表示ENUM 和S E T类型比其他的串类型更为有效,因为通常可用数值运算而不是串运算来处理它们,SET 列值为单个串,如
然后,特定的SET 值将表示顾客实际订购哪些选件,如下所示:
空串表示顾客未订购任何选件。这是一个合法的SET 值。SET 列值为单个串。如果某个值由多个集合成员组成,那么这些成员在串中用逗号分隔。显然,这表示不应该用含有逗号的串作为SET 成员。SET 列的其他用途是表示诸如病人的诊断或来自Web 页的选择结果这样的信息。对于诊断,可能会有一个向病人提问的标准症状清单,而病人可能会表现出某些症状或所有的症状。对于在线比萨饼服务系统,用于订购的Web 页应该具有一组复选框,用来表示顾客想在比萨饼上加的配料。对ENUM 或SET 列的合法值列表的定义很重要,例如:
■ 正如上面所介绍的,此列表决定了列的可能合法值。
■ 可按任意的大小写字符插入ENUM 或SET 值,但是列定义中指定的串的大小写字符决定了以后检索它们时的大小写。例如,如果有一个ENUM (“Y”, “N”) 列,但您在其中存储了“ y”和“n”,当您检索出它们时显示的是“ Y”和“N”。这并不影响比较或排序的状态,因为ENUM 和SET 列是不区分大小写的。
■ 在ENUM 定义中的值顺序就是排序顺序。SET 定义中的值顺序也决定了排序顺序,但是这个关系更为复杂,因为列值可能包括多个集合成员。
■ SET 定义中的值顺序决定了在显示由多个集合成员组成的SET 列值时,子串出现的顺序。
ENUM 和SET 被归为串类型是由于在建立这些类型的列时,枚举和集合成员被指定为串。但是,这些成员在内部存放时作为数值,而且同样可作为数值来处理。这表示ENUM 和S E T类型比其他的串类型更为有效,因为通常可用数值运算而不是串运算来处理它们。而且这还表示ENUM 和SET 值可用在串或数值的环境中。
更多精彩
赞助商链接