MySQL支持的数据类型(列摘要)

MySQL支持的数据类型(列摘要)
1。数值类型

MySQL支持所有标准的SQL的各种数值,包括严格的数据类型(整数、小数、smallint、数值),和近似数值数据类型(float,房、双精度),并在此基础上,我们向他们。

扩展增加了3个不同长度的字段,MEDIUMINT,和bigint、增加点式存储位数据。
整数型字节范围(签名)范围(无符号)使用

字段1字节(128127)(0255)小的整数

返回2字节(32 768, 32767)(0, 65535)大整数的值

3字节(8 MEDIUMINT 388608, 8388607)(0, 16777215)大整数的值

int或整数4字节的大整数值(- 2 147483648, 2147483647)(0, 4294967295)

时长8字节(9 233372036854775808, 922337203685477580)(0, 18446744073709551,615)的最大整数

浮4字节(-3.402 823466 + 38,1.175494351 e-38),0,(1.175494351 e-38,3.402823466351 + 38)0,(1.175494351 e-38,3.402823466 + 38)的单精度浮点值。

双8字节(1.7976931348623157 + 308,2.2250738585072014 e-308),0,(2.2250738585072014 e-308,1.7976931348623157 + 308)0,(2.2250738585072014 e-308,1.7976931348623157 + 308)的双精度浮点值。

十进制到十进制(m,d),如果m,d,m 2,或者D + 2的值依赖于m和d,则依赖于m和d的值。
int类型:

5个主要的整数类型,支持MySQL是tinyint、smallint、MEDIUMINT,int、bigint。这些类型在很大程度上是相同的,只是它们存储的值的大小是不同的。

MySQL以可选的显示宽度指示符的形式扩展SQL标准,这样当从数据库中检索一个值时,它可以被加长到指定的长度。例如,指定字段的类型是int(6),

当数据库中检索到小于6个数的值时,有可能确保自动填充空间,重要的是要注意,宽度指示符的使用不会影响字段的大小和存储的值的范围。

如果我们需要存储一个超出字段允许范围的数字,MySQL将根据它的最接近的允许范围存储它,然后缩短它,

在未指定值插入表之前,MySQL将自动更改为0。
未签名修饰符指定字段只保留正数,因为不需要保存正数和负值的符号,可以在存储中节省一点空间,这可以增加存储在这个字段中的值的范围。

的补零修饰符指定0(非空间)可以用来弥补输出值。此改性剂防止使用MySQL数据库存储的负价值。
浮点、双和十进制类型

mysql支持的三种浮点类型是浮点型、双十进制型和十进制类型,浮点数字类型用于表示单个精度浮点值,而双数值类型用于表示双精度浮点值。

像整数一样,这些类型也有额外的参数:显示宽度指标和小数点指标。例如,语句float(7,3)指定的显示值不超过7位数的数字,而小数点后的3位数。
对于超过允许范围的小数点后面的位数,MySQL自动将其设置为四到最接近的值,然后插入它。

十进制数据类型用于非常高精度计算,它允许选择指定值的精度和计数方法作为选择参数,其精度是保存在此值的有效数字的总数。

计数法显示的位数小数点后。例如,声明十进制(7,3)指定存储的值不会超过7位和小数点不超过3位。
如果忽略十进制数据类型和计数方法修饰符的精度,MySQL数据库将将所有标记为该数据类型的数据的字段精度设置为10,计算方法设置为0。

无符号和补零剂也可以通过浮动,双,和小数数据类型。和效果为int数据类型相同。
两。字符串类型

MySQL提供了8种基本类型:char、varchar字符串、二进制、varbinary、斑点、文本、枚举、和许多其他的字符串类型。

可以存储的范围从简单的一个字符到巨大的文本块或二进制字符串数据。
字符串类型字节大小描述和存储要求

字符0-255字节固定长度字符串

varchar 0-255字节长的字符串

在tinyblob 0-255字节不超过255字符的二进制字符串

tinytext 0-255字节短文本字符串

BLOB 0到65535字节的二进制形式的长文本数据

0到65535字节的文本数据的文本

mediumblob 0-16777215字节的二进制形式的中等长度的文本数据

mediumtext 0-16777215字节的中等长度的文本数据

logngblob 0-4294967295字节的二进制形式的最大文本数据

单引号字符0-4294967295字节的最大文本数据

varbinary(M)允许一个固定长度的字节串的长度0-m字节,一个字节的长度值+ 1

二进制(M)M允许一个固定长度的字节串的长度0-m字节
CHAR和VARCHAR类型

char类型用于设置一长串,必须定义在括号中有大小修饰符。这个尺寸改为0-255。值大于指定的长度将被截断,和小于指定的长度将充满空间的价值。

char类型可用于二进制修饰符。当用于比较操作时,此修饰符使char以二进制方式操作,而不是传统的区分大小的方式。

一个char类型的变量是varchar类型。它是一个可变长度的字符串类型,它也必须与一系列的CHAR和varchgar之间差异有0-255.the指标在于MySQL数据库的处理

这个指标的方法是char视大小的值的大小,它将充满空间的长度不够的情况下,VARCHAR类型视为最大和使用存储字符串的实际长度。

(添加一个额外的字节来存储字符串本身的长度)来存储值。所以VARCHAR类型小于指示长度不会填补空间,但价值比指标仍将被截断,再。

因为VARCHAR类型可以动态的根据实际内容改变存储值的长度,所以当我们不能确定有多少字符的领域的需求,我们可以节省磁盘空间和使用VARCHAR类型提高存储效率。

VARCHAR类型完全相同的字符类型修饰符时,使用二进制。
文本和团块类型

由于需要超过255个字段长度,MySQL提供两种类型的文本和数据块,根据存储数据的大小,它们具有不同的子类型,这些大数据用于存储文本块或图像,

二进制数据类型,如声音文件。

在text和BLOB类型之间的差异types.blob分类和比较是区分大小写的文本是不敏感的。大小修饰符不能用于各种斑点和文本类型。

大于指定支持类型的最大值将自动截断。
三。日期和时间类型

在处理日期和时间类型的值时,MySQL有5种不同的数据类型可供选择,它们可以分为简单日期、时间类型和混合日期和时间类型。

根据请求的准确性,可以在每个分类中使用亚型,而MySQL具有内置功能,可以将各种输入格式转换成标准格式。
类型和大小(字节)范围格式化

4日1000-01-01 / 9999-12-31为日期值

3 - 838:59:59 ' / '838:59:59'hh:MM:SS值或持续时间

1年1901 / 2155年产值

在8 1000-01-01 00:00:00 / 9999-12-31 23:59:59为HH:MM:SS混合的日期和时间值

时间戳4 1970-01-01 00:00:00 / 2037年YYYYMMDD hhmmss混合的日期和时间值,时间戳
日期、时间和类型

日期和撕裂类型MySQL存储简单的日期值,并利用时间类型存储时间值。这些类型可以描述为字符串或整数序列不符。如果它被描述为一个字符串,

的日期类型的值应该用连字符作为分隔符,和类型应作为一个分离器分离结肠的时间价值。

重要的是要注意,没有冒号分隔符的时间类型值将被MySQL理解为一个持久的时间,而不是时间戳。
MySQL也在两个日期中的数字值,或两个数字在SQL语句中的眼泪类型输入的最大电流。因为所有的眼泪类型的值必须存储在4个数字。

MySQL试图将今年的2号4号值。将值在00-69范围的2000-2069范围。对70与99范围值转换为1970-1979年。

如果MySQL自动转换的值不符合我们的要求,请输入4年的数字表示。

dateyime和时间戳类型

除了日期和时间数据类型,MySQL也支持dateyime和时间戳两混合型。他们可以存储日期和时间作为一个单一的价值。

这两种类型通常用于自动存储包含当前日期和时间的时间戳,并能在执行大量数据库事务和建立审计和跟踪中的应用起到了良好的作用。

如果我们没有一个明确的分配时间戳字段的类型,或是空value.mysql会自动填充系统的当前日期和时间。
复合型

MySQL还支持两复合数据类型、枚举和集合,扩展SQL规范。虽然这些类型的技术是字符串类型,他们可以被视为不同的数据类型。

一个枚举类型只允许一个值从一组;和设置类型允许任何数量的值是从一组得到的。
枚举类型

枚举类型是一个单一的选择有点相似,因为它只允许值应在收集得到。很容易理解,在处理彼此的数据,如人类的性别。枚举类型字段可以得到一个值或使用从收集空值。

除此之外,输入将允许MySQL在这个字段中插入一个空字符串。此外,如果插入值的值与设置中值的情况值不匹配,MySQL将自动使用插入值的大写字母将其转换为与集合中的情况一致的值。

枚举类型可以存储在系统数与数从1索引。一个枚举类型可以包含65536个元素,其中一个预留的MySQL和用于存储错误信息。

这个错误值用索引0或空字符串表示。

MySQL认为出现在枚举类型的值是一个合法的输入,除了任何其他输入将失败。这意味着错误记录的位置可以很容易地通过搜索一行包含空字符串或一个对应的0个数字指标线的发现。
集合类型

集合类型相似但不相同的枚举类型,集合类型可以从预定义的设置得到任何数量的值。和同为枚举类型是试图插入非预定义的值集合中的类型字段将

MySQL插入一个空字符串。如果插入一个有合法元素和非法元素的记录,MySQL将保留合法元素来删除非法元素。
set类型可以包含多达64个元素,set元素的中间值作为一个单独的位序列存储,它表示与之相对应的元素。

而且它也会删除重复的元素,因此不可能包含集合类型中的两个相同的元素。

希望从集合类型字段中找到非法记录只需要查找包含空字符串或二进制值为0的行。
概述了每种数据类型的使用、物理存储以及表示的范围,面对具体的应用,我们可以根据相应的特点选择合适的数据类型,从而满足应用的需要。

较高的数据库性能以较小的存储成本进行交换。

MySQL支持大量的列类型,可分为3类:数字型、日期和时间类型和字符串(字符)型。本节首先给出可用的类型的概述,总结了各列类型的存储需求,并提供了更详细的描述每一类类型属性。故意简化的概述,更详细的说明应该考虑到特定的列类型的附加信息,如允许的值可以指定格式。

MySQL支持的列类型如下所示:

M

指出最大显示大小。最大合法显示大小是255。

D

它适用于浮点类型,指出数字的小数点后的位数,最大值为30,但不应超过M-2。

方括号({和})指出可选类型修饰符的一部分。

注意,如果你指定一个为零,MySQL会自动增加列的符号性。

{ { { ZEROFILL } tinyint unsigned }(M)}

一个非常小的整数。符号范围是从128到127,无符号范围是0到255。
{ { { ZEROFILL } SmallInt符号}(M)}

一个小整数。符号范围是从32768到32767,无符号范围是0到65535。

{ { { ZEROFILL } MEDIUMINT符号}(M)}

一个中等大小的整数。符号范围是从8388608到8388607,无符号范围是0到16777215。

{ ZEROFILL } { { unsigned int(m)} }

一个正常大小的整数。符号范围从- 2147483648到2147483647,未签名的范围是0到4294967295。

整数} { ZEROFILL } { {符号(m)}

这是int的同义词。

{ { { ZEROFILL } BIGINT符号}(M)}

一个大整数。符号范围是- 922337203685477580到922337203685477580,未签名的范围是0。

18446744073709551615。注意做签署BIGINT或双值的算术运算,所以你不应该使用签名的大整数大于922337203685477580(63位)除位功能。注意,当两参数是整数,-,+,*将使用BIGINT操作!这意味着,如果取2个大整数(或从返回整数的函数),如果结果大于922337203685477580,就可以得到意外的结果。对于单精度浮点数,其精度可以为< 24。对于双精度浮点数,它介于25到53之间。这些类型,如float和double类型,将描述below.float(x)有相同的范围内对应的float和double,但显示的大小和个数是不确定的,mysql3.23,这真是一个浮点值。在MySQL的早期版本,浮子(精密)总是有2十进制数。语法提供了ODBC兼容。

浮{(M,D)} { ZEROFILL }

一个小的(丹静米)的浮点数。没有迹象。允许值是3.402823466e + 38 -1.175494351e-38,0和1.175494351e-38到3.402823466e + 38 M是数字显示的宽度,D为十进制数,单精度浮点数是由一个参数表示没有参数或一个浮动< 24参数。

双{(M,D)} { ZEROFILL }

一个正常大小(双精度浮点数)。没有迹象。允许值是1.7976931348623157e + 308 -2.2250738585072014e-308,0和2.2250738585072014e-308到1.7976931348623157e + 308。M的显示宽度,D为十进制数。没有一双参数或浮(x)(25≤x≤53)表示一个双精度浮点数。

双精度{(M,D)} { ZEROFILL }
真正的{(M,D)} { ZEROFILL }

这些是双重同义词。

十进制{(M {,} } { ZEROFILL } D)

浮点数是不压缩(解压)。没有迹象。行为像一个char列:解压缩意味着大量存储为一个字符串,和一个值的每个点用一个角色。小数点,并为负数的符号是不计算在M.如果D是0,该值将没有小数点或小数部分的十进制值的最大范围,双相同,但对于一个给定的十进制列,实际范围可以限制由M和D的选择如果是省略了,它被设置为0。如果我是得救的,这是设置为10。请注意,在mysql3.22,M参数包括符号和小数点。

数字(M,D){ ZEROFILL }

这是十进制的同义词。

日期

一日,支持的范围是从'1000-01-01'to '9999-12-31。MySQL显示日期值in'yyyy-mm-dd'format,但允许你指定一个值,使用一个字符串或一个日期列。

日期时间

组合的日期和时间。支持的范围是'1000-01-01 00:00:00'to '9999-12-31 23:59:59。MySQL在the'yyyy-mm-dd HH显示DateTime值:MM:ss'format,但允许你指定一个值的列使用一个字符串或数字的日期。

时间戳{(m)}

一个时间戳。范围'1970-01-01 00:00:00'to在2037.mysql显示时间戳值在YYYYMMDDHHMMSS,一些时间yymmddhhmmss,YYYYMMDD或收到录取通知时间格式,这取决于M是否是14(或省略),12, 8或6,但允许你指定值的时间戳列使用字符串或数字时间戳列用于记录日期和时间的插入或更新操作,因为如果你不把它分配给自己,它会自动设置为最新操作的日期和时间。你可以将它设置为当前的日期和时间分配一个空值。

时间

一时间,范围从838:59:59'to '838:59:59。MySQL显示时间值in'hh:MM:ss'format,但允许你指定一个值,使用一个字符串或数字时间列。

年{(2 | 4)}

一年的2或4位格式(默认是4),允许值是1901到2155,和0000(4位年格式),如果你使用2,1970-2069(70-69)。MySQL在YYYY格式显示年份值,但允许你指定一个使用字符串或一年柱的数值。(年型是一种新型mysql3.22。)

char(m){二进制}

一个固定长度的字符串,存储时,总是充满了空间对指定的长度,m的范围是1 ~ 255字。当该值检索,空间的尾部deleted.char值进行排序和比较大小和基于缺省字符集除非二进制关键词了不分青红皂白的途径。国家字符(简称nchar)是ANSI SQL的方式来定义char列应使用默认字符集。这是mysql.char默认为字符的缩写。

{国家} VARCHAR(M){二}

一个变量的字符串值。注意:存放时,尾部空间被删除(这是由不同的ANSI SQL规范)。M的范围是1 ~ 255 characters.varchar值进行排序和比较乱,乱按默认字符集的方式,除非是given.varchar是二进制关键字值对于不同的字符的缩写。

tinyblob

tinytext

一个最大长度为255个BLOB或文本列(2 ^ 8-1)特征。

斑点
文本

一个最大长度为65535个BLOB或文本列(2 ^ 16-1)特征。

mediumblob

mediumtext

一个最大长度为16777215个BLOB或文本列(2 ^ 24-1)特征。

longblob

单引号字符

一个最大长度为4294967295个BLOB或文本列(2 ^ 32-1)特征。

枚举('value1 ','value2 ',…)

枚举。只有一个值的字符串对象,这是选择从价值list'value1 ','value2 ',…,或为空。一个枚举最多可以有65535个不同的价值观。

集('value1 ','value2 ',…)

一套。一个String对象可以有零个或多个值,每个值必须选择list'value1 ','value2 ',…一组最多可以有64个成员。

tag:支持数据类型摘要电脑软件mysql

相关内容