sql中常用的数据类型

1)字符串型

VARCHAR

变长的字符串,需要在声明字段时指定能存储的最大字符数,真实占用的空间取决于存入的字符数,存入的越多占用空间越多。适合保存内容长度不定的字符类型数据。能包含数据的大小,mysql5.0以前0~255字节,mysql5.0以后0~65535字节

CHAR:

定长字符串,需要在声明字段时指定固定字符数。即使存入的字符数少于该长度,该字段也会占用该固定长度。适合存储长度不变的字符类型数据。能包含数据的大小,0~255字节

2)大数据类型

BLOB

大二进制类型,可以存入二进制类型的数据,通过这个字段,可以将图片、音频、视频等数据以二进制的形式存入数据库。最大为4GB

TEXT

扫描二维码关注公众号,回复: 2371617 查看本文章

大文本,被声明为这种类型的字段,可以保存大量的字符数据,最大为4GB

注意:text属于mysql的方言,在其他数据库中为clob类型

3)数值型

TINYINT:占用1个字节,相对于java中的byte

SMALLINT:占用2个字节,相对于java中的short

INT:占用4个字节,相对于java中的int

BIGINT:占用8个字节,相对于java中的long

FLOAT4字节单精度浮点类型,相对于java中的float

DOUBLE8字节双精度浮点类型,相对于java中的double

4)逻辑型

BIT

位类型,可以存储指定位的值,可以指定位的个数,如果不指定则默认值为1位,即只能保存01,对应到java中可以是boolean型。

5)日期型

DATE:日期 

TIME:时间 

DATETIME:日期时间 

TIMESTAMP:时间戳 

**DATETIMETIMESTAMP的区别?

* DATETIMETIMESTAMP显示的结果是一样的,都是固定的"YYYY-MM-DD HH:MM:SS"的格式

* DATETIME支持的范围是'1000-01-01 00:00:00''9999-12-31 23:59:59'TIMESTAMP的显示范围是'1970-01-01     00:00:00'2037年,且其实际的存储值为1970年到当前时间的毫秒数。

* 在建表时,列为TIMESTAMP的日期类型可以设置一个默认值,而DATETIME不行。

* 在更新表时,可以设置TIMESTAMP类型的列自动更新时间为当前时间。

猜你喜欢

转载自blog.csdn.net/lz199719/article/details/79803161