Home  >  Article  >  Database  >  MYSQL列类型参考_MySQL

MYSQL列类型参考_MySQL

WBOY
WBOYOriginal
2016-06-01 13:57:33923browse

本附录介绍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)]
    说明:小浮点数;单精度(精度小于D O U B L E)
    允许的属性:Z E R O F I L L
    取值范围:最小非零值为±1.75494351E -38; 最大非零值为±3 . 4 0 2 8 2 3 4 6 6 E + 3 8
    缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为0
    存储需求:4 字节
    同义词:MySQL3.23 版以前,FLOAT(4) 为具有缺省M 和D 值的FLOAT的同义词。
    注释:在MySQL3.23 以后,FLOAT(4) 为真浮点类型(值存储为硬件所允许的完整精度,而不四舍五入为缺省的小数位数)
    7. DOUBLE[(M, D)]
    说明:大浮点数;双精度(比FLOAT更精确)
    允许的属性:Z E R O F I L L
    取值范围:最小非零值为±2 . 2 2 5 07 3 8 5 8 5 07 2 0 14 E -308; 最大非零值为±1。7 9 7 6 9 3 13 - 4 8 6 2 3 15 7 E + 3 0 8
    缺省值:如果列可为NULL,则为NULL;如果列为NOT NULL,则为0
    存储需求:8 字节
    同义词:DOUBLE PRECISION[(M, D)] 和R E A L [ (M, D)] 为D O U B L E [(M, D)] 的同义词。MySQL3.23 版以前,FLOAT(8) 为具有缺省M 和D 值的FLOAT的同义词。
    注释:在MySQL3.23 以后,FLOAT(8) 为真浮点类型(值存储为硬件所允许的完整精度,而不四舍五入为缺省的小数位数)。
    8. DECIMAL(M, D)
    说明:存储为串的浮点数(每位数字、小数点或“-”号都占1字节)。
    允许的属性:Z E R O F I L L
    取值范围:最大取值范围与DOUBLE 相同;给定DECIMAL 类型的有效取值范围由M和D 决定。如果D 为零,则列值无小数点或小数部分。
    缺省值:如果列可为NULL,则为NULL,如果列为NOT NULL,则为0
    存储需求:对于MySQL3.23 前的版本,为M 字节,而MySQL3.23 以后的版本,为M + 2 字节。
    同义词:N U M E R I C (M, D)
    注释:在MySQL3.23 以后,M 的值为符合ANSI SQL 标准,不包括符号字符或小数点所占的字节数。

MYSQL串类型

    MySQL的串类型常用来存储文本,它不但是通用的而且还能存储任何数据。可用串类型来存储最大长度可变的值,而且可以选择在处理值时是否区分大小写。
    1. CHAR(M)
    说明:0 到M 字节长的定长字符串。在MySQL3.23 版以前,M 应该为一个1到255 之间的整数。而MySQL3.23 版以后,M 应该为一个0 到255 之间的整数。短于M 个字符的串存储进右边补空格。长于M 个字符的串存储时剪断为长度是M 的串。在检索值时,去掉后跟的空格。
    允许的属性:B I N A RY

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:SQL注入网站入侵实例_MySQLNext article:数据目录_MySQL