mysql字段类型学习大全

mysql字段类型学习大全,第1张

mysql字段类型学习大全,第2张

MySQL支持大量的列类型,可以分为3类:数字型、日期时间型和[URL = JavaScript:;]字符串[/url](字符)类型。本节首先给出可用类型的概述,总结每个列类型的存储要求,然后提供每个类中类型本质的更详细描述。该摘要旨在简化,更详细的解释应该考虑关于特定列类型的附加信息,例如可以为其指定值的允许格式。

下面列出了MySQL支持的列类型。描述中使用了以下代码字母:

M
表示显示尺寸。的合法显示大小是255。
D
适用于浮点类型,表示小数点后的位数。的可能值为30,但不应大于M-2。
方括号(“[”和“]”)表示可选类型修饰符的部分。

请注意,如果您将一个属性指定为ZEROFILL,MySQL会自动将无符号属性添加到该列中。

tinyint[(m)][unsigned][zero fill]
是一个非常小的整数。有符号范围是-128到127,无符号范围是0到255。


smallint[(m)][unsigned][zero fill]
小整数。有符号范围是-32768到32767,无符号范围是0到65535。

medium int[(m)][unsigned][zero fill]
中等大小的整数。有符号范围是-8388608到8388607,无符号范围是0到16777215。

int[(m)][unsigned][zero fill]
正常大小的整数。有符号范围是-2147483648到2147483647,无符号范围是0到4294967295。

INTeger[(m)][unsigned][zero fill]
这是int的同义词。

BIGINT[(M)][无符号][零填充]

一个大整数。有符号范围是-9223372036854775808到922372036854775807,无符号范围是0到。

18446744073709551615。注意所有的算术运算都是用有符号的BIGINT或者DOUBLE值来完成的,所以不要使用大于9223372036854775807(63位)的有符号大整数,除了位函数!注意,当两个参数都是整数值时,-,+和*会使用BIGINT运算!这意味着,如果您将2个大整数相乘(或者从返回整数的函数中相乘),如果结果大于9223372036854775807,则可能会得到意外的结果。浮点数不能是无符号的。对于单精度浮点数,其精度可以是FLOAT[(M,D)] [ZEROFILL]
一个小的(单精度)浮点数。不能未签名。允许的值为-3.402823466E+38到- 1.175494351E-38,0和1.175494351E-38到3.402823466E+38。m是显示宽度,d是小数位数。不带参数的FLOAT或DOUBLE[(M,D)] [ZEROFILL]
正常大小的浮点数(双精度)。不能未签名。允许的值是-1.7976931348623157E+308到-2.2250738585072014E-308,0和2.20849.8787888845 M是显示宽度,d是小数位数。不带参数的DOUBLE或FLOAT(X)(25 < = X < = 53)表示双精度浮点数。

双精度[(M,D)][零填充]

REAL[(M,D)] [ZEROFILL]
这些是DOUBLE的同义词。

Decimal [(m [,d])] [zerofill]
未压缩的浮点数。不能未签名。行为类似于CHAR列:“未压缩”意味着数字存储为字符串,值的每一位使用一个字符。小数点,对于负数,“-”号不计入m,如果d为0,该值将没有小数点或小数部分。十进制值的范围与DOUBLE相同,但对于给定的十进制列,实际范围可以通过选择M和d来限制。如果省略d,则将其设置为0。如果省略m,则它被设置为10。注意,在MySQL3.22中,m参数包括符号和小数点。NUMERIC(M,D) [ZEROFILL]
这是DECIMAL的同义词。

约会日期。支持的范围是“1000-01-01”到“9999-12-31”。MySQL以' YYYY-MM-DD '格式显示日期值,但允许您使用字符串或数字为日期列赋值。

DATETIME
日期和时间的组合。支持的范围是“1000-01-01 00:00:00”到“9999-12-31 23:59:59”。MySQL以“YYYY-MM-DD HH:MM:SS”的格式显示日期时间值,但允许您使用字符串或数字为日期时间的列赋值。

时间戳[(M)]
时间戳。范围是从1970年1月1日00:00:00到2037年的某个时间。时间戳值以MySQL YYYYYMMDDHHMMSS、YYMMDDHHMMSS、YYMMDDHHMMSS、YYMMDD或YYMMDD格式显示,具体取决于M是14(或省略)、12、8还是6,但您可以使用字符串或数字将值分配给时间戳列。TIMESTAMP列对于记录插入或更新操作的日期和时间非常有用,因为如果您没有亲自为它赋值,它会自动设置为最近一次操作的日期和时间。因此,您可以通过为其分配一个空值来将其设置为当前日期和时间。一个时间。范围是'-838:59:59 '到' 838:59:59 '。MySQL以' HH:MM:SS '格式显示时间值,但允许您使用字符串或数字将值分配给时间列。

YEAR[(2 | 4)]
2位或4位(默认为4位)格式的年份。允许的值是1901到2155,以及0000(4位数年份格式),如果您使用2位数,即1970-2069( 70-69)。年份值以MySQL YYYY格式显示,但是您可以为年份列分配一个字符串或数值。(年份类型是MySQL3.22中的新类型。)

CHAR(M) [BINARY]
固定长度的字符串。存储时,右侧总是以空单元格填充到指定长度。m的范围是1 ~ 255个字符。检索值时,删除空单元格的尾部。CHAR值根据默认字符集以不区分大小写的方式进行排序和比较,除非给出了BINARY关键字。NATIONAL CHAR(缩写NCHAR)是ANSI SQL定义CHAR列应该使用默认字符集的方式。这是MySQL的默认。是CHAR字符的缩写。

[national]varchar(m)[binary]
长度可变的字符串。注意:存储值时,末尾的空框被删除(这与ANSI SQL规范不同)。m的范围是1 ~ 255个字符。VARCHAR值根据默认字符集以不区分大小写的方式进行排序和比较,除非给定了二进制关键字值。VARCHAR是字符变化的缩写。

tiny BLOB

tiny text
长度为255(2 ^ 8-1)个字符的blob或文本列。
BLOB

TEXT
长度为65535(2 ^ 16-1)个字符的BLOB或文本列。

medium BLOB

medium TEXT
长度为16777215(2 ^ 24-1)个字符的blob或文本列。
long BLOB

long text
长度为4294967295(2 ^ 32-1)个字符的blob或文本列。

枚举('值1 ','值2 ',...)
枚举。只有一个值的字符串[URL = JavaScript:;]对象[/url],它是从值列表“值1”、“值2”中选择的,...、或NULL。一个枚举最多可以有65535个不同的值。

集合('值1 ','值2 ',...)
一个集合。一个字符串对象,可以有零个或多个值,每个值都必须从值列表“值1”、“值2”中选择,...一个集合最多可以有64个成员。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » mysql字段类型学习大全

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情