【DB】mysql 字段类型

来源:互联网 发布:jquery数组删除空元素 编辑:程序博客网 时间:2024/06/03 18:35


一、串数据类型

分为定长和变长。
定长:接受长度固定的字符串,且不能超过指定的字符数目,在创建表的时候就定下来了。
变长:存储长度可变的文本。
性能分析Mysql对定长的处理速度比变长的处理数度要快的多,此外mysql不允许对变长列进行索引。

MySQL数据类型含义char(n)固定长度的字符串,最多255个字符varchar(n) 固定长度的字符串,最多65535个字符tinytext 可变长度字符串,最多255个字符text 可变长度字符串,最多65535个字符mediumtext 可变长度字符串,最多2的24次方-1个字符longtext 可变长度字符串,最多2的32次方-1个字符 

注意:对于电话号码、邮政编码、身份证号等这些要用字符串类型而不建议使用数值类型。

二、整型

MySQL数据类型含义tinyint(m)1个字节表示(-128~127)smallint(m)2个字节表示(-32768~32767)mediumint(m)3个字节表示(-8388608~8388607)int(m)4个字节表示(-2147483648~2147483647)bigint(m)8个字节表示(+-9.22*10的18次方)

三、浮点型

浮点型(float、double)
浮点型
参考:

MySQL浮点型和定点型可以用类型名称后加(M,D)来表示,M表示该值的总共长度,D表示小数点后面的长度,M和D又称为精度和标度,如float(7,4)的可显示为-999.9999,MySQL保存值时进行四舍五入,如果插入999.00009,则结果为999.0001。FLOAT和DOUBLE在不指定精度时,默认会按照实际的精度来显示,而DECIMAL在不指定精度时,默认整数为10,小数为0。

create table sa(id1 FLOAT(5,2) DEFAULT NULL,id2 DOUBLE(5,2) DEFAULT NULL,id3 DECIMAL(5,2) DEFAULT NULL);INSERT into sa(id1,id2,id3) VALUE(1.23,1.23,1.23);INSERT into sa(id1,id2,id3) VALUE(1.23456,1.234,1.234);SELECT * FROM sa;

结果如下:
测试结果

四、定点数

定点数(decimal)

decimal(m,d) 定点类型浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。参数m是定点类型数字的最大个数(精度),范围为0~65,d小数点右侧数字的个数,范围为0~30,但不得超过m。对定点数的计算能精确到65位数字。

五、二进制数据类型

二进制数据类型可以存储任何数据(如图像、影音等)

MySQL数据类型含义BLOB最大长度为64KBMEDIUMBLOB最大长度为16MBLONGBLOB最大长度为4GTINYBLOB最大长度为255个字节

六、日期时间类型

日期时间类型(date、time、datetime、timestamp)

MySQL数据类型含义date日期'2008-12-2'time时间'12:25:36'datetime日期时间'2008-12-2 22:06:44'timestamp不固定

 

 

 

一、串数据类型

分为定长和变长。
定长:接受长度固定的字符串,且不能超过指定的字符数目,在创建表的时候就定下来了。
变长:存储长度可变的文本。
性能分析Mysql对定长的处理速度比变长的处理数度要快的多,此外mysql不允许对变长列进行索引。

MySQL数据类型含义char(n)固定长度的字符串,最多255个字符varchar(n) 固定长度的字符串,最多65535个字符tinytext 可变长度字符串,最多255个字符text 可变长度字符串,最多65535个字符mediumtext 可变长度字符串,最多2的24次方-1个字符longtext 可变长度字符串,最多2的32次方-1个字符 

注意:对于电话号码、邮政编码、身份证号等这些要用字符串类型而不建议使用数值类型。

二、整型

MySQL数据类型含义tinyint(m)1个字节表示(-128~127)smallint(m)2个字节表示(-32768~32767)mediumint(m)3个字节表示(-8388608~8388607)int(m)4个字节表示(-2147483648~2147483647)bigint(m)8个字节表示(+-9.22*10的18次方)

三、浮点型

浮点型(float、double)
浮点型
参考:

MySQL浮点型和定点型可以用类型名称后加(M,D)来表示,M表示该值的总共长度,D表示小数点后面的长度,M和D又称为精度和标度,如float(7,4)的可显示为-999.9999,MySQL保存值时进行四舍五入,如果插入999.00009,则结果为999.0001。FLOAT和DOUBLE在不指定精度时,默认会按照实际的精度来显示,而DECIMAL在不指定精度时,默认整数为10,小数为0。

create table sa(id1 FLOAT(5,2) DEFAULT NULL,id2 DOUBLE(5,2) DEFAULT NULL,id3 DECIMAL(5,2) DEFAULT NULL);INSERT into sa(id1,id2,id3) VALUE(1.23,1.23,1.23);INSERT into sa(id1,id2,id3) VALUE(1.23456,1.234,1.234);SELECT * FROM sa;

结果如下:
测试结果

四、定点数

定点数(decimal)

decimal(m,d) 定点类型浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。参数m是定点类型数字的最大个数(精度),范围为0~65,d小数点右侧数字的个数,范围为0~30,但不得超过m。对定点数的计算能精确到65位数字。

五、二进制数据类型

二进制数据类型可以存储任何数据(如图像、影音等)

MySQL数据类型含义BLOB最大长度为64KBMEDIUMBLOB最大长度为16MBLONGBLOB最大长度为4GTINYBLOB最大长度为255个字节

六、日期时间类型

日期时间类型(date、time、datetime、timestamp)

MySQL数据类型含义date日期'2008-12-2'time时间'12:25:36'datetime日期时间'2008-12-2 22:06:44'timestamp不固定

 

 

 

0 0
原创粉丝点击