欢迎来到天天文库
浏览记录
ID:6127723
大小:73.50 KB
页数:8页
时间:2018-01-04
《mysql数据库字段类型》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、MySql数据库的列类型(字段类型)对于每个由MySQL支持的列类型的存储需求在下面按类列出。7.3.2数字类型列类型需要的存储量TINYINT1字节SMALLINT2个字节MEDIUMINT3个字节INT4个字节INTEGER4个字节BIGINT8个字节FLOAT(X)4如果X<=24或8如果25<=X<=53FLOAT4个字节DOUBLE8个字节DOUBLEPRECISION8个字节REAL8个字节DECIMAL(M,D)M字节(D+2,如果M2、的存储量DATE3个字节DATETIME8个字节TIMESTAMP4个字节TIME3个字节YEAR1字节7.3.4串类型列类型需要的存储量CHAR(M)M字节,1<=M<=255VARCHAR(M)L+1字节,在此L<=M和1<=M<=255TINYBLOB,TINYTEXTL+1字节,在此L<2^8BLOB,TEXTL+2字节,在此L<2^16MEDIUMBLOB,MEDIUMTEXTL+3字节,在此L<2^24LONGBLOB,LONGTEXTL+4字节,在此L<2^32ENUM('value1','value2',...)1或2个字3、节,取决于枚举值的数目(最大值65535)SET('value1','value2',...)1,2,3,4或8个字节,取决于集合成员的数量(最多64个成员)VARCHAR和BLOB和TEXT类型是变长类型,对于其存储需求取决于列值的实际长度(在前面的表格中用L表示),而不是取决于类型的最大可能尺寸。例如,一个VARCHAR(10)列能保存最大长度为10个字符的一个字符串,实际的存储需要是字符串的长度(L),加上1个字节以记录字符串的长度。对于字符串'abcd',L是4而存储要求是5个字节。BLOB和TEXT类型需要1,2,3或4个字节来4、记录列值的长度,这取决于类型的最大可能长度。如果一个表包括任何变长的列类型,记录格式将也是变长的。注意,当一个表被创建时,MySQL可能在某些条件下将一个列从一个变长类型改变为一个定长类型或相反。见7.7.1隐式列指定变化。一个ENUM对象的大小由不同枚举值的数量决定。1字节被用于枚举,最大到255个可能的值;2个字节用于枚举,最大到65535值。一个SET对象的大小由不同的集合成员的数量决定。如果集合大小是N,对象占据(N+7)/8个字节,四舍五入为1,2,3,4或8个字节。一个SET最多能有64个成员。MySQL数据库的表是一个二维表5、,由一个或多个数据列构成。每个数据列都有它的特定类型,该类型决定了MySQL如何看待该列数据,我们可以把整型数值存放到字符类型的列中,MySQL则会把它看成字符串来处理。MySQL中的列类型有三种:数值类、字符串类和日期/时间类。从大类来看列类型和数值类型一样,都是只有三种。但每种列类型都还可细分。下面对各种列类型进行详细介绍。数值类的数据列类型数值型的列类型包括整型和浮点型两大类。TINYINT:1字节 非常小的正整数,带符号:-128~127,不带符号:0~255 SMALLINT:2字节 小整数,带符号:-32768~32767,不6、带符号:0~65535 MEDIUMINT:3字节 中等大小的整数,带符号:-8388608~8388607,不带符号:0~16777215 INT:4字节 标准整数,带符号:-2147483648~2147483647,不带符号:0~4294967295 BIGINT:8字节 大整数,带符号:-9223372036854775808~9233372036854775807,不带符号:0~18446744073709551615 FLOAT:4字节 单精度浮点数,最小非零值:+-1.175494351E-38,最大非零值:+-3.40287、23466E+38 DOUBLE:8字节 双精度浮点数,最小非零值:+-2.2250738585072014E-308,最大非零值:+-1.7976931348623157E+308 DECIMAL:M+2字节 以字符串形式表示的浮点数,它的取值范围可变,由M和D的值决定。 整型数据列类型MySQL有五种整型数据列类型,即TINYINT,SMALLINT,MEDIUMINT,INT和BIGINT。它们之间的区别是取值范围不同,存储空间也各不相同。在整型数据列后加上UNSIGNED属性可以禁止负数,取值从0开始。声明整型数据列时,我们可以为8、它指定个显示宽度M(1~255),如INT(5),指定显示宽度为5个字符,如果没有给它指定显示宽度,MySQL会为它指定一个默认值。显示宽度只用于显示,并不能限制取值范围和占用空间,如:INT
2、的存储量DATE3个字节DATETIME8个字节TIMESTAMP4个字节TIME3个字节YEAR1字节7.3.4串类型列类型需要的存储量CHAR(M)M字节,1<=M<=255VARCHAR(M)L+1字节,在此L<=M和1<=M<=255TINYBLOB,TINYTEXTL+1字节,在此L<2^8BLOB,TEXTL+2字节,在此L<2^16MEDIUMBLOB,MEDIUMTEXTL+3字节,在此L<2^24LONGBLOB,LONGTEXTL+4字节,在此L<2^32ENUM('value1','value2',...)1或2个字
3、节,取决于枚举值的数目(最大值65535)SET('value1','value2',...)1,2,3,4或8个字节,取决于集合成员的数量(最多64个成员)VARCHAR和BLOB和TEXT类型是变长类型,对于其存储需求取决于列值的实际长度(在前面的表格中用L表示),而不是取决于类型的最大可能尺寸。例如,一个VARCHAR(10)列能保存最大长度为10个字符的一个字符串,实际的存储需要是字符串的长度(L),加上1个字节以记录字符串的长度。对于字符串'abcd',L是4而存储要求是5个字节。BLOB和TEXT类型需要1,2,3或4个字节来
4、记录列值的长度,这取决于类型的最大可能长度。如果一个表包括任何变长的列类型,记录格式将也是变长的。注意,当一个表被创建时,MySQL可能在某些条件下将一个列从一个变长类型改变为一个定长类型或相反。见7.7.1隐式列指定变化。一个ENUM对象的大小由不同枚举值的数量决定。1字节被用于枚举,最大到255个可能的值;2个字节用于枚举,最大到65535值。一个SET对象的大小由不同的集合成员的数量决定。如果集合大小是N,对象占据(N+7)/8个字节,四舍五入为1,2,3,4或8个字节。一个SET最多能有64个成员。MySQL数据库的表是一个二维表
5、,由一个或多个数据列构成。每个数据列都有它的特定类型,该类型决定了MySQL如何看待该列数据,我们可以把整型数值存放到字符类型的列中,MySQL则会把它看成字符串来处理。MySQL中的列类型有三种:数值类、字符串类和日期/时间类。从大类来看列类型和数值类型一样,都是只有三种。但每种列类型都还可细分。下面对各种列类型进行详细介绍。数值类的数据列类型数值型的列类型包括整型和浮点型两大类。TINYINT:1字节 非常小的正整数,带符号:-128~127,不带符号:0~255 SMALLINT:2字节 小整数,带符号:-32768~32767,不
6、带符号:0~65535 MEDIUMINT:3字节 中等大小的整数,带符号:-8388608~8388607,不带符号:0~16777215 INT:4字节 标准整数,带符号:-2147483648~2147483647,不带符号:0~4294967295 BIGINT:8字节 大整数,带符号:-9223372036854775808~9233372036854775807,不带符号:0~18446744073709551615 FLOAT:4字节 单精度浮点数,最小非零值:+-1.175494351E-38,最大非零值:+-3.4028
7、23466E+38 DOUBLE:8字节 双精度浮点数,最小非零值:+-2.2250738585072014E-308,最大非零值:+-1.7976931348623157E+308 DECIMAL:M+2字节 以字符串形式表示的浮点数,它的取值范围可变,由M和D的值决定。 整型数据列类型MySQL有五种整型数据列类型,即TINYINT,SMALLINT,MEDIUMINT,INT和BIGINT。它们之间的区别是取值范围不同,存储空间也各不相同。在整型数据列后加上UNSIGNED属性可以禁止负数,取值从0开始。声明整型数据列时,我们可以为
8、它指定个显示宽度M(1~255),如INT(5),指定显示宽度为5个字符,如果没有给它指定显示宽度,MySQL会为它指定一个默认值。显示宽度只用于显示,并不能限制取值范围和占用空间,如:INT
此文档下载收益归作者所有