百度
360搜索
搜狗搜索

mediumint,smallint和int的区别详细介绍

本文目录一览: mediumint 在mysql 中是什么类型

mediumint是MySQL数据库中的一种整型,比INT小,比SMALLINT大,取值范围为:-8388608到8388607,无符号的范围是0到16777215。中等大小的整数,一位大小为3个字节。
MySQL支持所有标准SQL数值数据类型。作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。了解每个整数类型的存储和范围,对数据库的优化是非常重要的。
扩展资料
mysql所有整型以及它们的的取值范围和存储空间大小:
1、bigint
大整数,一位为 8 个字节。
从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字),无符号的范围是0到13800709551615。
2、int
一个正常大小整数,一位大小为 4 个字节。
有符号的范围是-2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字),无符号的范围是0到4294967295。int 的 SQL-92 同义词为 integer。3、mediumint一个中等大小整数,一位大小为3个字节。
有符号的范围是-8388608到8388607,无符号的范围是0到16777215。
4、smallint
一个小整数,一位大小为 2 个字节。
有符号的范围是-2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据,无符号的范围是0到65535。
5、tinyint
最小整数,一位大小为 1 字节。
有符号的范围是-128 - 127,无符号的范围是 从 0 到 255 的整型数据。
就是INT 只不过取值范围不同
1、bigint从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字),无符号的范围是0到13800709551615。一位为 8 个字节。2、int一个正常大小整数。有符号的范围是-2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字),无符号的范围是0到4294967295。一位大小为 4 个字节。int 的 SQL-92 同义词为 integer。3、mediumint一个中等大小整数,有符号的范围是-8388608到8388607,无符号的范围是0到16777215。 一位大小为3个字节。4、smallint一个小整数。有符号的范围是-2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据,无符号的范围是0到65535。一位大小为 2 个字节。MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。5、tinyint有符号的范围是-128 - 127,无符号的范围是 从 0 到 255 的整型数据。一位大小为 1 字节。
mysql的字段类型大体来讲分为int、text、varchar、char、blog等几种,而各自的类型中又划分了不同的字符数的类型,mediumint是MySQL数据库中的一种数据类型,比INT小,比SMALLINT大。
字节(byte),1个字节等于8个位(bit),一个bit存储0或者1,理解这个对于理解后面的占用字节导致的存储数值的有很重要的作用。整型,常见细分为tinyint、smallint、mediumint、int、bigint这几种。
类 型:mediumint
长 度:8
占用字节:3字节
有 符 号:-8388608~8388607
无 符 号:0~16777215
不指定长度时的长度为:9(实际长度还是8)
扩展资料1、tinyint:存储所占一个字节,一个字节等于8bit,根据1bit可以存储0到1两种可能性,因此tinyint类型可以存储2的8次方,也就是256种可能性,从0开始计数,无符号也就是可以 存储0~255,如果是有符号,那就是-128~127。
2、smallint:存储所占两个字节,同上也就是可以存储2的16次方,也就是可以存储65536种可能性,无符号从0开始则是可以存储0~65535,有符号则是-32768~32767。
3、mediumint:存储所占三个字节,也就是2的24次方,可以存储16777216种可能性,无符号可以存储0~16777215,有符号可以存储-8388608~8388607。
4、int:存储所占四个字节,也就是2的32次方,可以存储4294967296种可能性,无符号可以存储0~4294967295,有符号则是-2147483648~2147483647。
5、bigint:存储所占8个字节,也就是2的64次方,可以存储2的64次种可能性,无符号可以存储0~((232×2)-1),有符号则是-(232×2)/2 ~ (232×2)/2-1。
参考资料来源:百度百科—mediumint

数据类型mediumint括号中的8是什么意思

mediumint(8),括号中的值是显示宽度,它并不限制可以在列内保存的值的范围(mysql 或者其他语言本来就对哪一个类型的范围有限制,而不是这里显示指定),它也不限制超过列的指定宽度的值的显示,条件是这个值不要溢出。
并且你这用length()是测不出来的,他是实际长度。
显示8为的1
1
显示7为的1
1
显示6位
1
mediumint,因为无符号的mediumint类型最大支持16777215,正好是8位,8为是256。
这不是8位,是24位 即3个字节。

mysql中的MEDIUMINT 最大可以是多少

mediumint 在mysql 中
3表示显示宽度,比如 999------默认0到255之间
mediumint一个中等大小整数。
有符号的范围是-8388608到8388607,
无符号的范围是0到16777215。
占3字节

mysql中int,bigint,smallint 和 tinyint的区别详细介绍

bigint
从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。
P.S. bigint已经有长度了,在mysql建表中的length,只是用于显示的位数
int
从 -2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int
的 SQL-92 同义字为 integer。
smallint
从 -2^15 (-32,768) 到 2^15 – 1 (32,767) 的整型数据。存储大小为 2 个字节。
tinyint
从 0 到 255 的整型数据。存储大小为 1 字节。
注释
在支持整数值的地方支持 bigint 数据类型。但是,bigint 用于某些特殊的情况,当整数值超过
int 数据类型支持的范围时,就可以采用 bigint。在 SQL Server 中,int 数据类型是主要的整数数据类型。
在数据类型优先次序表中,bigint 位于 smallmoney 和 int 之间。
只有当参数表达式是 bigint 数据类型时,函数才返回 bigint。SQL Server 不会自动将其它整数数据类型(tinyint、smallint 和
int)提升为 bigint。
int(M) 在 integer 数据类型中,M 表示最大显示宽度。在 int(M) 中,M 的值跟 int(M) 所占多少存储空间并无任何关系。和数字位数也无关系 int(3)、int(4)、int(8) 在磁盘上都是占用 4 btyes 的存储空间。
主要的区别是占用空间和表示范围 tinyint 占用1字节 表示非负: 0-->255 无符号表示:-128-->127 举例表示人的年龄就可以用:age tinyint; smallint 占用2字节 表示非负:0-->2^16-1 既 0到65535 无符号表示:-2^15-->2^15-1 举例表示乌龟的年...
Number 类型:
数据类型
描述
TINYINT(size) -128 到 127 常规。0 到 255 无符号*。在括号中规定最大位数。占1个字节的存储空间。
SMALLINT(size) -32768 到 32767 常规。0 到 65535 无符号*。在括号中规定最大位数。占2字节的存储空间。
MEDIUMINT(size) -8388608 到 8388607 普通。0 to 16777215 无符号*。在括号中规定最大位数。占3字节的存储空间。
INT(size) -2147483648 到 2147483647 常规。0 到 4294967295 无符号*。在括号中规定最大位数。占4个字节的存储空间。
BIGINT(size) -9223372036854775808 到 9223372036854775807 常规。0 到 13800709551615 无符号*。在括号中规定最大位数。占8个字节的存储空间。
FLOAT(size,d) 带有浮动小数点的小数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。占4字节的存储空间。
DOUBLE(size,d) 带有浮动小数点的大数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。占8字节的存储空间。
DECIMAL(size,d) 作为字符串存储的 DOUBLE 类型,允许固定的小数点。
参考:PHP程序员,雷雪松的个人博客--MySQL

mysql 数据类型的详解

MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数。许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 MySQL 允许我们指定数值字段中的值是否有正负之分或者用零填补。
表列出了各种数值类型以及它们的允许范围和占用的内存空间。
类型 大小 范围(有符号) 范围(无符号) 用途
TINYINT 1 字节 (-128,127) (0,255) 小整数值
SMALLINT 2 字节 (-32 768,32 767) (0,65 535) 大整数值
MEDIUMINT 3 字节 (-8 388 608,8 388 607) (0,16 777 215) 大整数值
INT或INTEGER 4 字节 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值
BIGINT 8 字节 (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值
FLOAT 4 字节 (-3.402 823 466 E+38,1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) 0,(1.175 494 351 E-38,3.402 823 466 E+38) 单精度
浮点数值
DOUBLE 8 字节 (1.797 693 134 862 315 7 E+308,2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 双精度
浮点数值
DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 依赖于M和D的值 小数值
INT 类型
在 MySQL 中支持的 5 个主要整数类型是 TINYINT,SMALLINT,MEDIUMINT,INT 和 BIGINT。这些类型在很大程度上是相同的,只有它们存储的值的大小是不相同的。
MySQL 以一个可选的显示宽度指示器的形式对 SQL 标准进行扩展,这样当从数据库检索一个值时,可以把这个值加长到指定的长度。例如,指定一个字段的类型为 INT(6),就可以保证所包含数字少于 6 个的值从数据库中检索出来时能够自动地用空格填充。需要注意的是,使用一个宽度指示器不会影响字段的大小和它可以存储的值的范围。
万一我们需要对一个字段存储一个超出许可范围的数字,MySQL 会根据允许范围最接近它的一端截短后再进行存储。还有一个比较特别的地方是,MySQL 会在不合规定的值插入表前自动修改为 0。
UNSIGNED 修饰符规定字段只保存正值。因为不需要保存数字的正、负符号,可以在储时节约一个“位”的空间。从而增大这个字段可以存储的值的范围。
ZEROFILL 修饰符规定 0(不是空格)可以用来真补输出的值。使用这个修饰符可以阻止 MySQL 数据库存储负值。
FLOAT、DOUBLE 和 DECIMAL 类型
MySQL 支持的三个浮点类型是 FLOAT、DOUBLE 和 DECIMAL 类型。FLOAT 数值类型用于表示单精度浮点数值,而 DOUBLE 数值类型用于表示双精度浮点数值。
与整数一样,这些类型也带有附加参数:一个显示宽度指示器和一个小数点指示器。比如语句 FLOAT(7,3) 规定显示的值不会超过 7 位数字,小数点后面带有 3 位数字。
对于小数点后面的位数超过允许范围的值,MySQL 会自动将它四舍五入为最接近它的值,再插入它。
DECIMAL 数据类型用于精度要求非常高的计算中,这种类型允许指定数值的精度和计数方法作为选择参数。精度在这里指为这个值保存的有效数字的总个数,而计数方法表示小数点后数字的位数。比如语句 DECIMAL(7,3) 规定了存储的值不会超过 7 位数字,并且小数点后不超过 3 位。
忽略 DECIMAL 数据类型的精度和计数方法修饰符将会使 MySQL 数据库把所有标识为这个数据类型的字段精度设置为 10,计算方法设置为 0。
UNSIGNED 和 ZEROFILL 修饰符也可以被 FLOAT、DOUBLE 和 DECIMAL 数据类型使用。并且效果与 INT 数据类型相同。
字符串类型
MySQL 提供了 8 个基本的字符串类型,可以存储的范围从简单的一个字符到巨大的文本块或二进制字符串数据。
类型 大小 用途
CHAR 0-255字节 定长字符串
VARCHAR 0-255字节 变长字符串
TINYBLOB 0-255字节 不超过 255 个字符的二进制字符串
TINYTEXT 0-255字节 短文本字符串
BLOB 0-65 535字节 二进制形式的长文本数据
TEXT 0-65 535字节 长文本数据
MEDIUMBLOB 0-16 777 215字节 二进制形式的中等长度文本数据
MEDIUMTEXT 0-16 777 215字节 中等长度文本数据
LOGNGBLOB 0-4 294 967 295字节 二进制形式的极大文本数据
LONGTEXT 0-4 294 967 295字节 极大文本数据
CHAR 和 VARCHAR 类型
CHAR 类型用于定长字符串,并且必须在圆括号内用一个大小修饰符来定义。这个大小修饰符的范围从 0-255。比指定长度大的值将被截短,而比指定长度小的值将会用空格作填补。
CHAR 类型可以使用 BINARY 修饰符。当用于比较运算时,这个修饰符使 CHAR 以二进制方式参于运算,而不是以传统的区分大小写的方式。
CHAR 类型的一个变体是 VARCHAR 类型。它是一种可变长度的字符串类型,并且也必须带有一个范围在 0-255 之间的指示器。CHAR 和 VARCHGAR 不同之处在于 MuSQL 数据库处理这个指示器的方式:CHAR 把这个大小视为值的大小,不长度不足的情况下就用空格补足。而 VARCHAR 类型把它视为最大值并且只使用存储字符串实际需要的长度(增加一个额外字节来存储字符串本身的长度)来存储值。所以短于指示器长度的 VARCHAR 类型不会被空格填补,但长于指示器的值仍然会被截短。
因为 VARCHAR 类型可以根据实际内容动态改变存储值的长度,所以在不能确定字段需要多少字符时使用 VARCHAR 类型可以大大地节约磁盘空间、提高存储效率。
VARCHAR 类型在使用 BINARY 修饰符时与 CHAR 类型完全相同。
TEXT 和 BLOB 类型
对于字段长度要求超过 255 个的情况下,MySQL 提供了 TEXT 和 BLOB 两种类型。根据存储数据的大小,它们都有不同的子类型。这些大型的数据用于存储文本块或图像、声音文件等二进制数据类型。
TEXT 和 BLOB 类型在分类和比较上存在区别。BLOB 类型区分大小写,而 TEXT 不区分大小写。大小修饰符不用于各种 BLOB 和 TEXT 子类型。比指定类型支持的最大范围大的值将被自动截短。
日期和时间类型
在处理日期和时间类型的值时,MySQL 带有 5 个不同的数据类型可供选择。它们可以被分成简单的日期、时间类型,和混合日期、时间类型。根据要求的精度,子类型在每个分类型中都可以使用,并且 MySQL 带有内置功能可以把多样化的输入格式变为一个标准格式。
类型 大小
(字节) 范围 格式 用途
DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
TIME 3 '-838:59:59'/'838:59:59' HH:MM:SS 时间值或持续时间
YEAR 1 1901/2155 YYYY 年份值
DATETIME 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值
TIMESTAMP 8 1970-01-01 00:00:00/2037 年某时 YYYYMMDD HHMMSS 混合日期和时间值,时间戳
DATE、TIME 和 TEAR 类型
MySQL 用 DATE 和 TEAR 类型存储简单的日期值,使用 TIME 类型存储时间值。这些类型可以描述为字符串或不带分隔符的整数序列。如果描述为字符串,DATE 类型的值应该使用连字号作为分隔符分开,而 TIME 类型的值应该使用冒号作为分隔符分开。
需要注意的是,没有冒号分隔符的 TIME 类型值,将会被 MySQL 理解为持续的时间,而不是时间戳。
MySQL 还对日期的年份中的两个数字的值,或是 SQL 语句中为 TEAR 类型输入的两个数字进行最大限度的通译。因为所有 TEAR 类型的值必须用 4 个数字存储。MySQL 试图将 2 个数字的年份转换为 4 个数字的值。把在 00-69 范围内的值转换到 2000-2069 范围内。把 70-99 范围内的值转换到 1970-1979 之内。如果 MySQL 自动转换后的值并不符合我们的需要,请输入 4 个数字表示的年份。
DATEYIME 和 TIMESTAMP 类型
除了日期和时间数据类型,MySQL 还支持 DATEYIME 和 TIMESTAMP 这两种混合类型。它们可以把日期和时间作为单个的值进行存储。这两种类型通常用于自动存储包含当前日期和时间的时间戳,并可在需要执行大量数据库事务和需要建立一个调试和审查用途的审计跟踪的应用程序中发挥良好作用。
如果我们对 TIMESTAMP 类型的字段没有明确赋值,或是被赋与了 null 值。MySQL 会自动使用系统当前的日期和时间来填充它。
复合类型
MySQL 还支持两种复合数据类型 ENUM 和 SET,它们扩展了 SQL 规范。虽然这些类型在技术上是字符串类型,但是可以被视为不同的数据类型。一个 ENUM 类型只允许从一个集合中取得一个值;而 SET 类型允许从一个集合中取得任意多个值。
ENUM 类型
ENUM 类型因为只允许在集合中取得一个值,有点类似于单选项。在处理相互排拆的数据时容易让人理解,比如人类的性别。ENUM 类型字段可以从集合中取得一个值或使用 null 值,除此之外的输入将会使 MySQL 在这个字段中插入一个空字符串。另外如果插入值的大小写与集合中值的大小写不匹配,MySQL 会自动使用插入值的大小写转换成与集合中大小写一致的值。
ENUM 类型在系统内部可以存储为数字,并且从 1 开始用数字做索引。一个 ENUM 类型最多可以包含 65536 个元素,其中一个元素被 MySQL 保留,用来存储错误信息,这个错误值用索引 0 或者一个空字符串表示。
MySQL 认为 ENUM 类型集合中出现的值是合法输入,除此之外其它任何输入都将失败。这说明通过搜索包含空字符串或对应数字索引为 0 的行就可以很容易地找到错误记录的位置。
SET 类型
SET 类型与 ENUM 类型相似但不相同。SET 类型可以从预定义的集合中取得任意数量的值。并且与 ENUM 类型相同的是任何试图在 SET 类型字段中插入非预定义的值都会使 MySQL 插入一个空字符串。如果插入一个即有合法的元素又有非法的元素的记录,MySQL 将会保留合法的元素,除去非法的元素。
一个 SET 类型最多可以包含 64 项元素。在 SET 元素中值被存储为一个分离的“位”序列,这些“位”表示与它相对应的元素。“位”是创建有序元素集合的一种简单而有效的方式。并且它还去除了重复的元素,所以 SET 类型中不可能包含两个相同的元素。
希望从 SET 类型字段中找出非法的记录只需查找包含空字符串或二进制值为 0 的行。

阅读更多 >>>  html制作个人主页,html个人主页包含姓名 照片即可

MySQL基础教程4—数据类型之存储需求及如何选择正确的类型

1. 列类型存储需求根据类别列出了MySQL支持的每个列类型的存储需求。MyISAM表中行的最大大小为65,534字节。每个BLOB和TEXT列 账户只占其中的5至9个字节。如果MyISAM表包括变长列类型,记录格式也是可变长度。当创建表时,在某些条件下,MySQL可以将一个列从变长类型改为固定长度的类型或反之亦然。数值类型存储需求列类型存储需求TINYINT1个字节SMALLINT2个字节MEDIUMINT3个字节INT, INTEGER4个字节BIGINT8个字节FLOAT(p)如果0 <= p <= 24为4个字节, 如果25 <= p <= 53为8个字节FLOAT4个字节DOUBLE [PRECISION], item REAL8个字节DECIMAL(M,D), NUMERIC(M,D)变长;参见下面的讨论BIT(M)大约(M+7)/8个字节DECIMAL(和NUMERIC)的存储需求与具体版本有关:使用二进制格式将9个十进制(基于10)数压缩为4个字节来表示DECIMAL列值。每个值的整数和分数部分的存储分别确定。每个9位数的倍数需要4个字节,并且“剩余的”位需要4个字节的一部分。下表给出了超出位数的存储需求:剩余的字节位数数目00112138008494日期和时间类型的存储需求列类型存储需求DATE3个字节DATETIME8个字节TIMESTAMP4个字节TIME3个字节YEAR1个字节字符串类型的存储需求列类型存储需求CHAR(M)M个字节,0 <= M <= 255VARCHAR(M)L+1个字节,其中L <= M 且0 <= M <= 65535(参见下面的注释)BINARY(M)M个字节,0 <= M <= 255VARBINARY(M)L+1个字节,其中L <= M 且0 <= M <= 255TINYBLOB, TINYTEXTL+1个字节,其中L < 28BLOB, TEXTL+2个字节,其中L < 216MEDIUMBLOB, MEDIUMTEXTL+3个字节,其中L < 224LONGBLOB, LONGTEXTL+4个字节,其中L < 232ENUM('value1','value2',...)1或2个字节,取决于枚举值的个数(最多65,535个值)SET('value1','value2',...)1、2、3、4或者8个字节,取决于set成员的数目(最多64个成员)VARCHAR、BLOB和TEXT类是变长类型。每个类型的存储需求取决于列值的实际长度(用前面的表中的L表示),而不是该类型的最大可能的大小。例如,VARCHAR(10)列可以容纳最大长度为10的字符串。实际存储需求是字符串(L)的长度,加上一个记录字符串长度的字节。对于字符串'abcd',L是4,存储需要5个字节。对于CHAR、VARCHAR和TEXT类型,前面的表中的值L和M应解释为字符数目,并且列定义中的这些类型的长度表示字符数目。例如,要想保存一个TINYTEXT值需要L字符+ 1个字节。要想计算用于保存具体CHAR、VARCHAR或者TEXT列值的字节数,需要考虑该列使用的字符集。在具体情况中,当使用Unicode时,必须记住所有Unicode字符使用相同的字节数。注释:VARCHAR列的有效最大长度为65,532字符。NDBCLUSTER引擎只支持固定宽度的列。这说明MySQL簇中的表中的VARCHAR列的行为如同类型CHAR(不同的是每个记录仍然有一个额外字节空间)。例如,在Cluster表中,声明为VARCHAR(100)的列中的每个记录存储时将占用101个字节,无论实际存储的记录中的字符串的长度为多少。BLOB和TEXT类需要 1、2、3或者4个字节来记录列值的长度,取决于该类的最大可能的长度。在NDB Cluster存储引擎中,TEXT和BLOB列的实施是不同的,其中TEXT列中的每个记录由两个单独部分组成。一个是固定大小(256字节),并且实际上保存在原表中。另一个包括超出256字节的任何数据,保存在隐含的表中。第2个表中的记录总是2,000字节长。这说明如果size<= 256,TEXT列的大小为256(其中size表示记录的大小);否则,大小是256 +size+(2000_(size_256)%2000)。ENUM对象的大小由不同的枚举值的数目确定。枚举用一个字节,可以有255个可能的值。当枚举的值位于256和65,535之间时,用两个字节。SET对象的大小由不同的set成员的数量确定。如果set大小是N,对象占(N+7)/8个字节,四舍五入到1、2、3、4或者8个字节。SET最多可以有64个成员。2. 选择正确的数据类型为了优化存储,在任何情况下均应使用最精确的类型。例如,如果列的值的范围为从1到99999,若使用整数,则MEDIUMINT UNSIGNED是好的类型。在所有可以表示该列值的类型中,该类型使用的存储最少。用精度为65位十进制数(基于10)对DECIMAL 列进行所有基本计算(+、-、*、/)。使用双精度操作对DECIMAL值进行计算。如果准确度不是太重要或如果速度为最高优先级,DOUBLE类型即足够了。为了达到高精度,可以转换到保存在BIGINT中的定点类型。这样可以用64位整数进行所有计算,根据需要将结果转换回浮点值。3. 使用来自其他数据库引擎的列类型为了使用由其它卖方编写的SQL执行代码,MySQL按照下表所示对列类型进行映射。通过这些映射,可以很容易地从其它数据库引擎将表定义导入到MySQL中:其它卖方类型MySQL类型BOOL,TINYINTBOOLEANTINYINTCHAR VARYING(M)VARCHAR(M)DECDECIMALFIXEDDECIMALFLOAT4FLOATFLOAT8DOUBLEINT1TINYINTINT2SMALLINTINT3MEDIUMINTINT4INTINT8BIGINTLONG VARBINARYMEDIUMBLOBLONG VARCHARMEDIUMTEXTLONGMEDIUMTEXTMIDDLEINTMEDIUMINTNUMERICDECIMAL在创建表时对列类型进行映射,然后原来的类型定义被丢弃。如果你使用其它卖方的类型创建一个表,然后执行DESCRIBE tbl_name语句,MySQL使用等效的MySQL类型来报告表的结构。例如:mysql> CREATE TABLE t (a BOOL, b FLOAT8, c LONG, d NUMERIC);Query OK, 0 rows affected (0.08 sec)mysql> DESCRIBE t;+-------+---------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------+---------------+------+-----+---------+-------+| a | tinyint(1) | YES | | NULL | || b | double | YES | | NULL | || c | mediumtext | YES | | NULL | || d | decimal(10,0) | YES | | NULL | |+-------+---------------+------+-----+---------+-------+4 rows in set (0.00 sec)

mediumint 在java中用什么数据库类型接受

数据库中的number类型在java类对应的类型:
1.如果number类没有设置小数位位数,默认小数位数为0,则在java类中可以使用int或者long对应;
2.如果number类设置小数位位数,在java类中可以使用double类进行对应。
注:也可以使用基本类型的包装类进行对于,比如double的包装类为Double.

smallint和int的区别

一、所容纳的整形数据不同
smallint代表从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。unsigned 是从 0 到 65535 的整型数据。
int代表从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。unsigned 是从 0 到 4294967296 的整型数据。
二、存储大小不同
smallint它需要 2 个字节存储,INT 是4字节数据,取值范围 -2^31 - 2^31,所以在考虑最大数据范围的前提下,优先使用smallint类型。
扩展资料:
MySql中int,smallint,mediumint与bigint
1、int(M) M默认为11
带符号的范围是-2147483648到2147483647;无符号的范围是0到4294967295。
2、smallint(M) M默认为6
带符号的范围是-32768到32767;无符号的范围是0到65535。
3、mediumint(M) M默认为11
带符号的范围是-8388608到8388607;无符号的范围是0到16777215。
4、bigint(M) M默认为20
带符号的范围是-9223372036854775808到9223372036854775807;无符号的范围是0到13800709551615。
参考资料来源:百度百科-INT (取整函数Int())
参考资料来源:百度百科-SMALLINT
smallint和int虽然都是一种数据类型,但是smallint和int在含义是有区别的,它们的具体含义如下:
1.smallint
(1)smallint数据类型是一种精确数值数据类型,其精度在算术运算后不变。它需要 2 个字节存储。
(2)有符号的 SMALLINT 值的范围是 –2^15(2^15表示2的15次幂) 到2^15 – 1,即 –32768 到 32767。
(3)无符号的 SMALLINT 值范围是 0 到 2^16 – 1,即 0 到 65535。 INT 是4字节数据,取值范围 -2^31 - 2^31,所以在考虑最大数据范围的前提下,优先使用smallint类型。
2.int。Int是将一个数值向下取整为最接近的整数的函数。为取整函数。
求不大于number 的最大整数,Int(3.8)=3,Int(-3.8)=-4。
注意:int不能取整。取整要用fix。
举例:
Dim a
a = Int(-32.9)
Msgbox a
一、所容纳的整形数据不同
1、smallint代表从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。unsigned 是从 0 到 65535 的整型数据。
所以在建表的时候,只能是smallint(5),哪怕建smallint(100),最大还是5位这么多。
2、int代表从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。unsigned 是从 0 到 4294967296 的整型数据。
所以在建表的时候,只能是int(10),哪怕建int(100),最大还是10位这么多。
二、存储大小不同
smallint存储大小为 2 个字节,int存储大小为 4 个字节。
int(M) 在 integer 数据类型中,M 表示最大显示宽度。在 int(M) 中,M 的值跟 int(M) 所占多少存储空间并无任何关系。和数字位数也无关系 int(3)、int(4)、int(8) 在磁盘上都是占用 4 btyes 的存储空间。
扩展资料:
mysql提供了五种整型: tinyint、smallint、mediumint、int和bigint。int为integer的缩写。这些类型在可表示的取值范围上是不同的。
整数列可定义为unsigned从而禁用负值;这使列的取值范围为0以上。各种类型的存储量需求也是不同的。取值范围较大的类型所需的存储量较大。
mysql 提供三种浮点类型: float、double和decimal。与整型不同,浮点类型不能是unsigned的,其取值范围也与整型不同,这种不同不仅在于这些类型有最大值,而且还有最小非零值。
最小值提供了相应类型精度的一种度量,这对于记录科学数据来说是非常重要的(当然,也有负的最大和最小值)。
参考资料来源:
百度百科—int
百度百科—smallint

数据库属性是什么意思

数据库属性即是数据库字段,指数据库中表的列。
我们把表中的每一行叫做一个“记录”,每一个记录包含这行中的所有信息,就像在通讯录数据库中某个人全部的信息,但记录在数据库中并没有专门的记录名,常常用它所在的行数表示这是第几个记录。
字段是比记录更小的单位,字段集合组成记录,每个字段描述文献的某一特征,即数据项,并有唯一的供计算机识别的字段标识符。
扩展资料
属性数据的录入与编辑一般是在属性数据处理模块中进行的。文档数据资料的录入一般是通过键盘直接键入数据文件或属性数据库。
也可以将另一个数据库中的有关数据直接传输到属性数据库中。但为了建立属性描述数据与几何图形的联系,通常需要在图形编辑系统中设计属性数据的编辑功能。
主要是将一个实体的属性数据直接连接到相应的几何目标上,这项工作可在数字化及建立图形拓扑关系的同时或之后,对照一个几何目标直接输人属性数据,并可对数据进行修改、删除、拷贝等编辑操作。
属性数据的录人随着VGI 的出现,呈现出了一种全新的方式。人们可以通过互联网GIS平台上传自己感兴趣的数据,除了位置信息之外,还可以贡献很多的属性数据,其形式也表现的多种多样,如照片、视频、音频等。
属性就是你数据库表里面的比如说ID,UserName之类的东西...竖过来的一列叫属性...横过来的一行叫元组...
数据库属性应该是指数据库采用的编码格式,数据库名之类的
属性:关系也是一个二维表,表的每行对应于一个元组,表的每列对应于一个域。由于域可以相同,为了加以区分,必须为每列起一个名字,称为属性( attribute )。
属性就是你数据库表里面的英文项目名称。
比如:ID,NAME等等
数据库属性即是数据库字段,指数据库中表的列。
我们把表中的每一行叫做一个“记录”,每一个记录包含这行中的所有信息,就像在通讯录数据库中某个人全部的信息,但记录在数据库中并没有专门的记录名,常常用它所在的行数表示这是第几个记录。
字段是比记录更小的单位,字段集合组成记录,每个字段描述文献的某一特征,即数据项,并有唯一的供计算机识别的字段标识符。
扩展资料
数据库属性的数据类型介绍(以mysql为例):
1、数值类型,例如int、SMALLINT、MEDIUMINT、double、float等。
2、日期和时间类型,例如DATE、TIME、TIMESTAMP、DATETIME、YEAR等。
3、字符串类型,例如char、VARCHAR、blob、text、MEDIUMBLOB、MEDIUMTEXT等。

阅读更多 >>>  js随机数生成整数,JavaScript问题 随机产生0~100之间的随机整数,如果是3的倍数,就把该数显示在页面,

mysql 数据类型的详解

MySQL 数据类型细分下来,大概有以下几类:
数值,典型代表为 tinyint,int,bigint浮点/定点,典型代表为 float,double,decimal 以及相关的同义词字符串,典型代表为 char,varchar时间日期,典型代表为 date,datetime,time,timestamp二进制,典型代表为 binary,varbinary位类型枚举类型集合类型
MySQL数据库的表是一个二维表,由一个或多个数据列构成。
每个数据列都有它的特定类型,该类型决定了MySQL如何看待该列数据,我们可以把整型数值存放到字符类型的列中,MySQL则会把它看成字符串来处理。
MySQL中的列类型有三种:数值类、字符串类和日期/时间类。
从大类来看列类型和数值类型一样,都是只有三种。但每种列类型都还可细分。
下面对各种列类型进行详细介绍。
数值类的数据列类型
数值型的列类型包括整型和浮点型两大类。
TINYINT:1字节 非常小的正整数,带符号:-128~127,不带符号:0~255
SMALLINT:2字节 小整数,带符号:-32768~32767,不带符号:0~65535
MEDIUMINT:3字节 中等大小的整数,带符号:-8388608~8388607,不带符号:0~16777215
INT:4字节 标准整数,带符号:-2147483648~2147483647,不带符号:0~4294967295
BIGINT:8字节 大整数,带符号:-9223372036854775808~9233372036854775807,不带符号:0~13800709551615
FLOAT:4字节 单精度浮点数,最小非零值:+-1.175494351E-38,最大非零值:+-3.402823466E+38
DOUBLE:8字节 双精度浮点数,最小非零值:+-2.2250738585072014E-308,最大非零值:+-1.7976931348623157E+308
DECIMAL:M+2字节 以字符串形式表示的浮点数,它的取值范围可变,由M和D的值决定。
MYSQL支持大量的列类型,它们可以被分为 3 类:数字类型、日期和时间类型以及字符串(字符)类型。这个章节首先给出可用类型的概述,并且总结各类型所需的存储需求,然后提供各类型中的类型范畴更详细的描述。概述有意地简化了。更详细的说明应该参考特写列类型的附加信息,例如你能为其指定值的允许格式。
MySQL 支持的列类型在下面列出。下列代码字母用于描述中:
M指出最大的显示尺寸。最大的显示尺寸长度为 255。D适用于浮点类型。指出跟随在十进制小数点后的数字数量。最大可能值为 30,但不应大于M-2。
方括号 (“[”and“]”) 指定可选的类型修饰部份。
注意,如果为一个列指定了ZEROFILL,MySQL 将自动为这个列添加UNSIGNED属性。
警告:你应该知道当在两个整数类型值中使用减法时,如有一个为UNSIGNED类型,那么结果也是无符号的。查看章节6.3.5 Cast 函数。
TINYINT[(M)] [UNSIGNED] [ZEROFILL]-128到127。无符号的范围是0到255。
BITBOOL它们是TINYINT(1)的同义词。
SMALLINT[(M)] [UNSIGNED] [ZEROFILL]一个小整数。有符号的范围是-32768到32767。无符号的范围是0到65535。
MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]一个中等大小的整数。有符号的范围是-8388608到8388607。无符号的范围是0到16777215。
INT[(M)] [UNSIGNED] [ZEROFILL]一个正常大小的整数。有符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。
INTEGER[(M)] [UNSIGNED] [ZEROFILL]INT的同义词。
BIGINT[(M)] [UNSIGNED] [ZEROFILL]一个大的整数。有符号的范围是-9223372036854775808到9223372036854775807。无符号的范围是0到13800709551615。
你应该知道的有关BIGINT列的一些事情:
BIGINT或DOUBLE值来完成的,因此你不应该使用大于9223372036854775807(63 bits) 的无符号大整数,除了位函数之外!如果你这样做了,结果中的某些大数字可能会出错,因为将BIGINT转换成DOUBLE时产生了舍入错误。MySQL 4.0 在下列情况下可以处理BIGINT:
在一个BIGINT列中使用整数存储一个大的无符号值。
在MIN(big_int_column)和MAX(big_int_column)中。
当两个操作数都是整数时使用操作符 (+、-、*、等)。
通常你可以在一个BIGINT列中以字符串方式存储的一个精确的整数。在这种情况下,MySQL 将执行一个字符串到数字的转换,包括无 intermediate 的双精度表示法。
当两个参数均是整数值时,“-”、“+”和“*”将使用BIGINT运算!这就意味着,如果两个大整数的乘积(或函数的结果返回整数)的结果大于9223372036854775807时,你可能会得到意想不到的结果。
FLOAT(precision) [UNSIGNED] [ZEROFILL]一个浮点型数字。
precision可以是<=24作为一个单精度的浮点数字和介于 25 和 53 之间作为一个双精度的浮点数字。这些类型与下面描述的FLOAT和DOUBLE类型相似。FLOAT(X)有与相应的FLOAT和DOUBLE类型同样的范围,但是显示尺寸和十进制小数位数是未定义的。在 MySQL 3.23 中,它是一个真实的浮点值。而在 MySQL 早期的版本中,FLOAT(precision)通常有 2 小数位。 注意,由于在 MySQL 中所有的计算都是以双精度执行的,所以使用FLOAT可能带来一些意想不到的问题。查看章节A.5.6 解决没有匹配行的问题。
FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]一个小的(单精度) 浮点数字。允许的值是-3.402823466E+38到-1.175494351E-38、0和1.175494351E-38到3.402823466E+38。如果UNSIGNED被指定,负值是不允许的。M是显示宽度,D是小数位数。FLOAT没有参数或有X<= 24 的FLOAT(X)代表一个单精度的浮点数字。
DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL]一个正常大小的(双精度)浮上数字。允许的值是-1.7976931348623157E+308到-2.2250738585072014E-308、0和2.2250738585072014E-308到1.7976931348623157E+308。如果UNSIGNED被指定,负值是不允许的。M是显示宽度,D是小数位数。DOUBLE没胡参数或有 25 <=X<= 53 的FLOAT(X)代表一个双精度的浮点数字。
DOUBLE PRECISION[(M,D)] [UNSIGNED] [ZEROFILL]
REAL[(M,D)] [UNSIGNED] [ZEROFILL]它们是DOUBLE同义词。
DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]一个未压缩(unpacked)的浮点数。运作如同一个CHAR列:“unpacked” 意味着数字是以一个字符串存储的,值的每一位将使用一个字符。小数点并且对于负数,“-”符号不在M中计算(但是它们的空间是被保留的)。如果D是 0,值将没有小数点或小数部份。DECIMAL值的最大范围与DOUBLE一致,但是对于一个给定的DECIMAL列,实际的范围可以被所选择的M和D限制。如果UNSIGNED被指定,负值是不允许的。 如果D被忽略,缺省为 0。如果M被忽略,缺省为 10。 在 MySQL 3.23 以前,M参数必须包含符号与小数点所需的空间。
DEC[(M[,D])] [UNSIGNED] [ZEROFILL]
NUMERIC[(M[,D])] [UNSIGNED] [ZEROFILL]DECIMAL的同义词。
DATE一个日期。支持的范围是'1000-01-01'到'9999-12-31'。MySQL 以'YYYY-MM-DD'格式显示DATE值,但是允许你以字符串或数字给一个DATE列赋值。查看章节6.2.2.2DATETIME、DATE和TIMESTAMP类型。
DATETIME一个日期和时间的组合。支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。MySQL 以'YYYY-MM-DD HH:MM:SS'格式显示DATETIME值,但是允许你以字符串或数字给一个DATETIME列赋值。查看章节6.2.2.2DATETIME、DATE和TIMESTAMP类型。
TIMESTAMP[(M)]一个时间戳。范围是'1970-01-01 00:00:00'到2037年间的任意时刻。 MySQL 4.0 和更早版本中,TIMESTAMP值是以YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD或YYMMDD格式显示的,它取决于M是否是14(或省略)、12、8或6,但是允许你以字符串或数字给一个TIMESTAMP列赋值。 从 MySQL 4.1 开始,TIMESTAMP以'YYYY-MM-DD HH:MM:DD'格式作为字符返回。如果你你希望以数字形式返回则必须在该时间戳字段后加上 +0。不同的时间戳长度是不支持的。从 MySQL 4.0.12 开始,选项--new可以被用来使服务器与 4.1 一样运作。TIMESTAMP列有益于记录一个INSERT或UPDATE操作的日期和时间,因为如果你自己没有给它赋值,它将被自动地设置为最近一次操作的日期和时间。也可以通过给它赋一个NULL而使它设置为当前的日期和时间。查看章节6.2.2 Date 和 Time 类型。 参数M只影响一个TIMESTAMP列的显示格式;它的值总是占用 4 个字节存储。 注意,当TIMESTAMP(M)列的M是 8 或 14 时,它返回的是数字而其它的TIMESTAMP(M)列返回的是字符串。这仅仅是为了可以可靠地转储并恢复到其它格式的表中。查看章节6.2.2.2DATETIME、DATE和TIMESTAMP类型。TIME一个时间。范围是'-838:59:59'到'838:59:59'。MySQL 以'HH:MM:SS'格式显示TIME值,但是允许你使用字符串或数字来给TIME列赋值。查看章节6.2.2.3TIME类型。YEAR[(2|4)]一个 2 或 4 位数字格式的年(缺省为 4 位)。允许的值是1901到2155、0000(4 位年格式) 以及使用 2 位格式的 1970-2069 (70-69)。MySQL 以YYYY格式显示YEAR值,但是允许你使用字符串或数字来给YEAR列赋值。(YEAR类型在 MySQL 3.22 之前不支持。) 查看章节6.2.2.4YEAR类型。
[NATIONAL] CHAR(M) [BINARY]一个定长的字符串,当存储时,总是以空格填满右边到指定的长度。M的范围是 0 到 255 (在 MySQL 3.23 版本之前为 1 到 255)。当该值被检索时,尾部空格将被删除。CHAR值根据缺省的字符集进行忽略大小写的排索与比较,除非指定了关键词BINARY。NATIONAL CHAR(或短形式NCHAR) 是以 ANSI SQL 方式定义一个CHAR列,它将使用缺省的字符集。这在 MySQL 中是默认的。
CHAR是CHARACTER的缩写。 MySQL 允许以CHAR(0)类型建立一个列。一些老程序运行时必需一个列,却又并不使用这个列的值,你就不得不为了适应它而建立该列,在这情况下,CHAR(0)将是很有益的。当需要一个列仅保存两个值时:一个为CHAR(0)(该列没有定义为NOT NULL),这将仅占用一个比特位来存储 2 个值:NULL或""。查看章节6.2.3.1CHAR和VARCHAR类型。CHAR这是CHAR(1)的同义词。
[NATIONAL] VARCHAR(M) [BINARY]一个变长的字符串。注意:尾部的空格在存储时将会被删除(这与 ANSI SQL 约规不同)。M的范围是 0 到 255 (在 MySQL 4.0.2 之前的版本中是 1 到 255)。
VARCHAR值以大小写忽略方式进行排索与比较,除非关键词BINARY被指定。查看章节6.5.3.1 隐式的列定义变化。VARCHAR是CHARACTER VARYING的缩写。查看章节6.2.3.1CHAR和VARCHAR类型。
TINYBLOBTINYTEXT一个BLOB或TEXT列,最大长度为 255 (2^8 - 1) 个字符。查看章节6.5.3.1 隐式的列定义变化。查看章节6.2.3.2BLOB和TEXT类型。
BLOBTEXT一个BLOB或TEXT列,最大长度为 65535 (2^16 - 1) 个字符。查看章节6.5.3.1 隐式的列定义变化。查看章节6.2.3.2BLOB和TEXT类型。
MEDIUMBLOBMEDIUMTEXT一个BLOB或TEXT列,最大长度为 16777215 (2^24 - 1) 个字符。查看章节6.5.3.1 隐式的列定义变化。查看章节6.2.3.2BLOB和TEXT类型。
LONGBLOBLONGTEXT一个BLOB或TEXT列,最大长度为 4294967295 (2^32 - 1) 个字符。查看章节6.5.3.1 隐式的列定义变化。注意,由于服务器/客户端的协议以及 MyISAM 表通常有一个 16M 每通信包/表行的限制,你仍然不能使用这个类型的整个范围。查看章节6.2.3.2BLOB和TEXT类型。ENUM('value1','value2',...)一个枚举类型。一个仅能有一个值的字符串对象,这个值选自值列'value1'、'value2'、...、NULL或特殊的""出错值。一个ENUM列可以有最大 65535 不同的值。查看章节6.2.3.3ENUM类型。SET('value1','value2',...)一个集合。一个能有零个或更多个值的字符串对象,其中每个值必须选自值列'value1'、'value2'、...。一个SET列可以有最大 64 个成员。查看章节6.2.3.4SET类型。
MySQL 支持所有的 ANSI/ISO SQL92 数字类型。这些类型包括准确数字的数据类型(NUMERIC、DECIMAL、INTEGER和SMALLINT),也包括近似数字的数据类型(FLOAT、REAL和DOUBLE PRECISION)。关键词INT是INTEGER的同义词,关键词DEC是DECIMAL的同义词。
NUMERIC和DECIMAL类型被 MySQL 以同样的类型实现,这在 SQL92 标准中是允许的。他们用于保存对准确精度有重要要求的值,例如与金钱有关的数据。当以它们中的之一声明一个列时,精度和数值范围可以(通常是)被指定;例如:
salary DECIMAL(5,2)
在这个例子中,5(精度(precision)) 代表重要的十进制数字的数目,2(数据范围(scale)) 代表在小数点后的数字位数。在这种情况下,因此,salary列可以存储的值范围是从-99.99到99.99。(实际上 MySQL 在这个列中可以存储的数值可以一直到999.99,因为它没有存储正数的符号)。
译者注:
M 与D 对DECIMAL(M, D) 取值范围的影响
类型说明 取值范围(MySQL < 3.23) 取值范围(MySQL >= 3.23)
DECIMAL(4, 1) -9.9 到 99.9 -999.9 到 9999.9
DECIMAL(5, 1) -99.9 到 999.9 -9999.9 到 99999.9
DECIMAL(6, 1) -999.9 到 9999.9 -99999.9 到 999999.9
DECIMAL(6, 2) -99.99 到 999.99 -9999.99 到 99999.99
DECIMAL(6, 3) -9.999 到 99.999 -999.999 到 9999.999
# 在MySQL 3.23 及以后的版本中,DECIMAL(M, D) 的取值范围等于早期版本中的DECIMAL(M + 2, D) 的取值范围。注释结束:
在 ANSI/ISO SQL92 中,句法DECIMAL(p)等价于DECIMAL(p,0)。同样的,在执行被允许决定值p的地方,句法DECIMAL等价于DECIMAL(p,0)。MySQL 目前还不支持DECIMAL/NUMERIC数据类型的这些变体形式中的任一种。一般来说这并不是一个严重的问题,通过明确地控制精度和数值范围可以得到这些类型的主要功能益处。
DECIMAL和NUMERIC值是作为字符串存储的,而不是作为二进制浮点数,以便保护这些值的十进制精确度。一个字符用于数值的每一位、小数点(如果scale> 0) 和“-”符号(对于负值)。如果scale是 0,DECIMAL和NUMERIC值不包含小数点或小数部分。
DECIMAL和NUMERIC值的最大范围与DOUBLE一致,但是对于一个给定的DECIMAL或NUMERIC列,它的实际范围可制定该列时的precision或scale限制。当这样的列被赋给了小数点的位数超过scale所指定的值时,该将根据scale进行四舍五入。当一个DECIMAL或NUMERIC列被赋与一个大小超过指定(或缺省)的precisionandscale的限止范围时,MySQL 以该列范围的端点值存储该值。

阅读更多 >>>  mysql存储过程循环语句,mysql循环添加数据

网站数据信息

"mediumint,smallint和int的区别"浏览人数已经达到19次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:mediumint,smallint和int的区别的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!