mysql数据类型有哪些



一、数值类型

 

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

 


二、字符串(文本)类型



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


 

三、时间日期类型


 
类型 说明 例子
date YYYY-MM-DD 格式表示的日期值 date
time hh:mm:ss 格式表示的时间值 time
datetime YYYY-MM-DD hh:mm:ss 格式表示的日期和时间值 datetime
timestamp YYYYMMDDhhmmss 格式表示的时间戳值 timestamp
year YYYY 格式表示的年份值 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值