MySQL数据类型

数据类型-主要应用于列上

字符串类型:

最常用的数据类型,有两种基本的串类型:分别为定长串和不定长串。定长串结束长度固定的字符,其长度是创建表是指定的,不允许多于指定的字符数据,它们分配的存储空间与指定的一样多,CHAR属于定长串类型。变长串存储长度可变的文本,有些变长数据类型具有最大的定长,而有些则是完全变长的,不管哪种只有指定的数据得到保存(不会添加额外的空格保存),TEXT属于变长串类型。变长数据类型灵活,定长数据类型高效,Mysql处理定长数据类型比变长列快很多,Mysql不允许对变长列(或一个列的可变部分)进行索引,这会极大影响性能

char :1~255个字符的定长串,它的长度必须在创建时指定,否则MySQL假定为CHAR(1)

varchar:可变长度,最多不超过255字节,如在创建时指定VARCHAR(n),则可存储0~n个字符

text:最大长度为64K的变长文本

longtext:同text,最大长度为4GB(纯文本,一般不会到4G)

tinytext:同text,最大长度为255字节

meduimtext:同text,最大长度为16K

enum:接受最多64K个串组成的预定义集合的某个串 (多选1)

set:接受最多64K个串组成的预定义集合的零个或多个串(组合选)

数字类型:

存储数值,每种类型具有不同的存储范围,支持取值范围越大,所需存储空间越多。所有数值类型(除BIT和Boolean外)都可以有符号或无符号,有符号数据列可存储正或负的数值,默认情况为有符号

tinyint:有符号值:-128 到127(- 2^7 到2^7 – 1) 

      无符号值:0到255(0 到2^8 – 1)

 smaliint:有符号值:-32768 到32767(- 2^15 到2^15 – 1) 

       无符号值:0到65535(0 到21 6 – 1)

mediumint:有符号值:-8388608 到8388607(- 2^23 到2^23 – 1 ) 

        无符号值:0到16777215(0 到2^24 – 1)

int:有符号值:-2147683648 到2147683647(- 2^31 到2^31- 1) 

     无符号值:0到4294967295(0 到2^32 – 1)

bigint:有符号值:-9223372036854775808 到9223373036854775807(- 2^63到2^63-1) 

    无符号值:0到18446744073709551615(0到2^64 – 1)

float(m,d):单精度浮点数(非准确小数值),m是数字总个数,d是小数点后个数。

double(m,d):双精度浮点数(非准确小数值),m是数字总个数,d是小数点后个数。

decimal(m,d):定点数。浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。 

    参数m<65 是总个数,d<30且 d<m 是小数位。

日期时间类型

当插入值超出有效取值范围时,系统会报错,并将零值插入到数据库中。

date:日期 '2008-12-2' 取值范围1000-01-01——9999-12-31

time:时间 '12:25:36' 取值范围-838:59:59——838:59:59

datetime:日期时间 '2008-12-2 22:06:44' 取值范围1000-01-01 00:00:00——9999-12-31 23:59:59

timestamp:自动存储记录修改时间,若定义一个字段为timestamp,这个字段里的时间数据会随其他字段修改的时候自动刷新,所以这个数据类型的字段可以存放这条记录最后被修改的时间。

二进制数据类型

二进制类型可存储任何数据,如文字、图像、多媒体等。

tityblob:最大长度为255字节

blob:最大长度为64KB

mediumblob:最大长度为16MB

longblob:最大长度为4GB

posted @ 2017-12-07 16:48  瓜田月夜  阅读(163)  评论(0)    收藏  举报