mysql数据类型有哪些

来源:互联网 发布:2017中国制造业数据 编辑:程序博客网 时间:2024/04/28 00:35


一、数值类型

 

 类型说明例子tinyint存储范围:-128至127或0至255tinyint(1)smallint存储范围:-32768至32767或0至65535smallint(3)mediumint存储范围:- 8388608至8388607或0至16777215mediumint(5)int存储范围:- 2147483648至2147483647或0至4294967295int(10)bigint存储范围:- 9223372036854775808至9223372036854775807或0至18446744073709551615bigint(10)float(M,D)最小非零值:±1.175494351E – 38,同double一样适用于精度要求高的场合float(3,1)double(M,D)最小非零值:±2.2250738585072014E - 308double(10,5)decimal(M,D)取值范围可变,以来括号内的显示尺寸和小数点位数而定,适用于对精度要求不高但准确度要求非常高的场合decimal(10,2)

 


二、字符串(文本)类型



类型说明例子char支持固定长度的字符串, 最大长度是 255 个字符char(100)varchar支持可变长度的字符串, 最大长度是 65535 个字符varchar(1000)tinytext支持可变长度的字符串,最大长度是 255 个字符tinytexttext
blob支持可变长度的字符串,最大长度是 65535 个字符textmediumtext
mediumblob支持可变长度的字符串,最大长度是 16777215 个字符mediumtextlongtext
longblob支持可变长度的字符串,最大长度是 4294967295 个字符longtextenum枚举类型,可存储最多65535 个成员,常用于取值是有限而且固定的场合enmu("男","女")set集合类型,可存储最多64个成员set("value1","value2", ...)


 

三、时间日期类型


 类型说明例子dateYYYY-MM-DD 格式表示的日期值datetimehh:mm:ss 格式表示的时间值timedatetimeYYYY-MM-DD hh:mm:ss 格式表示的日期和时间值datetimetimestampYYYYMMDDhhmmss 格式表示的时间戳值timestampyearYYYY 格式表示的年份值year


1、DATE、TIME、DATATIME数据列类型

(1)、DATE、TIME和DATATIME类型分别存放日期值、时间值、日期和时间值的组合。它们的格式分别是“CCYY-MM-DD”、“hh:mm:ss”、“CCYY-MM-DD hh:mm:ss”。

(2)、DATATIME里的时间值和TIME值是有区别的,DATATIME里的时间值代表的是几点几分,TIME值代表的是所花费的时间。当向TIME数据列插值时,需用时间的完整写法,如12分30秒要写成“00:12:30”。




2、TIMESTAMP数据列类型

(1)、TIMESTAMP数据列的格式是CCYYMMDDhhmmss,取值范围从19700101000000开始,即1970年1月1号,最大到2037年。它的特点是能把数据行的创建或修改时间记录下来:

(2)、如果把一个NULL值插入TIMESTAMP列,这个数据列就将自动取值为当前的日期和时间。

(3)、在创建和修改数据行时,如果没有明确对TIMESTAMP数据列进行赋值,则它就会自动取值为当前的日期和时间。如果行中有多个TIMESTAMP列,只有第一个会自动取值。

(4)、如果对TIMESTAMP设置一个确定的日期和时间值,则会使TIMESTAMP的自动取值功能失效。

(5)、TIMESTAMP默认的列宽是14,可指定列宽,以改变显示效果。但不论你指定的列宽如何,MySQL都是以4字节来存储TIMESTAMP值,也总是以14位精度来计算。

(6)、如果需要把创建时间和最近一次修改时间同时记录下来,可以用两个时间戳来记录,一个记录创建时间,一个记录修改时间。不过需记住两件事,一是要把记录修改时间的TIMESTAMP数据列放在最前面,这样才会自动取值;二是创建一条新记录时,要用now()函数来初始化创建时间TIMESTAMP数据列,这样,该TIMESTAMP数据列就不会再变化。



参考资料:    mysql数据类型    http://www.studyofnet.com/news/612.html


0 0
原创粉丝点击