本附录引见MySQL提供的每种列类型。关于利用每品种型的详细说明请参阅第2 章。除非另有说明,否则所列出的类型早在MySQL3.21.0 中就曾经有了。
按下列商定给出类型名说明:
方括号( [ ]) 可选信息。
M 最大显示宽度。除非另有说明,否则M 应该是一个1到255 之间的整数。
D 有小数部分的类型的小数位数。D 为一个0 到30 之间的整数。D 应该小于等于M - 2。否则,M 的值将调整为D + 2。
在ODBC 术语中,M 和D 称为“精度”和“小数位数”。
为了描述每品种型,提供下列一个或多个信息:
说明 该类型的简短说明。
允许的属性 在CREATE TABLE 或ALTER TABLE 语句中与该类型相关的可选属性关键字。属性按字母顺序列出,但这个顺序并不一定与CREATE TABLE 或ALTE R TABLE 中使用的顺序绝对应。关于这些语句的语法请参阅附录D。每种列类型在说明中列出的属性为通用属性之外的属性。
允许的长度 串类型的列值所允许的最大长度。
取值范围 对于数值或日期与时间类型,该类型可表示的值的范围。对于整数数值类型,给出两个取值范围,由于整数列可以是有符号或无符号的,有符号或无符号的取值范围是不同的。
零值 对于日期和时间类型,如果将非法值插入该列,则存入一个“零”值。
缺省值 类型说明中不明确给出D E FA U LT 属性时的缺省值。
存储需求 存储该类型的值所需的字节数。对于有的类型,这个值是固字的。而这个值在有些类型中依据存放在列中的值的不同是可变的。
比较 对于串类型,比较能否是区分大小写的。这对排序和索引无效,由于这些操作依据比较进行的。
同义词 该类型名的同义词。
注释 关于该类型的一些杂项说明。
通用属性 有的属性对所有类型或对于几乎所有类型都适用。它们列在这里,而不是列在每品种型的说明中。可对任何类型指定NULL 或NOT NULL 属性。还可对所有类型指定D E FA U LT default_value。
MYSQL数值类型 MySQL提供了整数和浮点数的数值类型。可依据所要表示的值的范围选择相应的类型。
对于整数类型,如果指定了AUTO_INCREMENT 属性,则列必须为PRIMARY KEY 或UNIQUE 索引。将NULL 插入AUTO_INCREMENT 列将会插入一个大于该列中当前最大值的值。如果指定了UNSIGNED 属性,则相应的整数类型不允许取负值。
如果指定了ZEROFILL 属性,则用前导零填充数值类型值以达到列的显示宽度。
1. TINYINT[(M)]
说明:非常小的整数
允许的属性:AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILL
取值范围:-128 到127(-27 到27-1),或者如果为U N S I G N E D,则0 到2 5 5(0 到2 8-1)
缺省值:如果列可为NULL;则为NULL;如果列为NOT NULL,则为0
存储需求:1字节
2. SMALLINT[(M)]
说明:小整数
允许的属性:AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILL
取值范围:-32768 到3 27 6 7(-215 到215-1),或者如果为U N S I G N E D,则0 到6 5 5 3 5 (0 到216-1)
缺省值:如果列可为NULL;则为NULL;如果列为NOT NULL,则为0
存储需求:2 字节
3. MEDIUMINT[(M)]
说明:中等大小的整数
允许的属性:AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILL
取值范围:-8388608 到8 3 8 8 6 07(-22 3 到22 3-1),或者如果为U N S I G N E D,则0 到16 7 7 2 15(0 到22 4-1)
缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为0
存储需求:4 字节
4. INT[(M)]
说明:标准大小的整数
允许的属性:AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILL
取值范围:-2147483648 到2 14 7 4 8 3 6 4 7(-231到2 3 1-1),或者如果为U N S I G N E D,则0 到4 2 9 4 9 6 7 2 9 5(0 到2 3 2-1)
缺省值:如果列为NULL,则为NULL;如果列为NOT FULL,则为0
存储需求:4 字节
同义词:I N T E G E R [(M)]
5. BIGINT[(M)]
说明:大整数
允许的属性:AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILL
取值范围:-9223372036854775808 到9 2 2 3 3 7 2 0 3 6 8 5 4 7 7 5 8 07(-263 到2 6 3-1),或者如果为U N S I G N E D,则0 到18 4 4 6 7 4 4 07 3 7 0 9 5 5 16 15(0 到26 4 -1)
缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为0
存储需求:8 字节
6. FLOAT [(M, D)]