MySQL支持的数据类型

MySQL支持的数据类型

         1、数值类型

                  整数类型:TINYINT (1)、SMALLINT (2)、MEDIUMINT (3)、INT/INTEGER (4)、BIGINT (8)

                   浮点数类型:FLOAT (4)、DOUBLE (8)

                   位类型:BIT(M) (1~8)

对于整形数据,支持在类型名称后面的小括号内指定西安是宽度。

如int(5),意思是数值宽度小于5位的时候在数字前面填满宽度。

不显示指定宽度默认为int(11),配合zerofill使用:用0填充,

但如果超过也可以进入,如

 

 

AUTO_INCREMENT,整形类型的属性,一个表最多只有一个,其列为NOT NULL,并定义为PRIMARY KEY或者UNIQUE键。

 

浮点数和定点数都可以用类型名称后加(M,D)的方式进行表示:

表示一共显示M位数字(整数+小数),其中D表示位于小数点后面/(精度和标度)

 

         2、时间类型

DATE:年月日

DATETIME:年月日时分秒

TIME:时分秒

TIMESTAMP:需要经常插入或者更新日期为当前系统时间 YYYY-MM-DD HH:MM:SS    (共19个字符)

 

TIMESTAMP与DATETIME的表示方法非常类似,主要区别:

(1)、TIMESTAMP支持的时间范围较小,而DATETIME范围更大

(2)、表中的第一个TIMESTAMP列自动设置为系统时间。如果在一个TIMESTAMP列中插入NULL,则该列值将自动设置为当前的日期和时间。再插入或更新一行但不明确给TIMESTAMP列赋值时也会自动设置该列为当前日期和时间,当插入的值超出取值范围,MySQL会溢出,使用“0000-00-00 00:00:00”进行填补。

(3)、TIMESTAMP的插入和查询都受当地时区的影响,更能反应出实际的日期。而DATETIME只能反映出插入时当地的时区,其他时区会有误差。

(4)、TIMESTAMP的属性受MySQL版本和吴福气SQLMode的影响很大。

YEAR的范围为(1901-2155)。使用两位字符串时范围(00-99)(00-69:2000-2069;70-99:1970-1999)

 

         3、字符串类型

 

CHAR和VARCHAR类型

CHAR:长度固定为创建表时声明的长度,char列删除了尾部的空格

VARCHAR:可变长字符串,varchar保留结尾空格

BINARY和VARBINARY类型

         BINARY和VARBINARY类型类似于CHAR和VARCHAR,不同的的是它们包含二进制字符串而不包含非二进制字符串。

ENUM类型

         枚举类型,对于1-255个成员需要1个字节存储;对于255-65535个成员,需要2个字节。

         create  table  t(gender  enum(‘M’, ‘F’));   //描述了范围只在M,F之间。

         insert into t values(‘M’), (‘l’), (‘f’), (null)

SET类型(不重复)

         跟ENUM类型类似,也是一个字符串对象。SET一次可以选取多个成员,而ENUM只能选一个。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。