smallint smallint是什么类型
一、sql数据类型
1)字符串型
VARCHAR:
变长的字符串,需要在声明字段时指定能存储的最大字符数,真实占用的空间取决于存入的字符数,存入的越多占用空间越多。适合保存内容长度不定的字符类型数据。能包含数据的大小,mysql5.0以前0~255字节,mysql5.0以后0~65535字节
CHAR:
定长字符串,需要在声明字段时指定固定字符数。即使存入的字符数少于该长度,该字段也会占用该固定长度。适合存储长度不变的字符类型数据。能包含数据的大小,0~255字节
2)大数据类型
BLOB:
大二进制类型,可以存入二进制类型的数据,通过这个字段,可以将图片、音频、视频等数据以二进制的形式存入数据库。最大为4GB。
TEXT:
大文本,被声明为这种类型的字段,可以保存大量的字符数据,最大为4GB。
注意:text属于mysql的方言,在其他数据库中为clob类型
3)数值型
TINYINT:占用1个字节,相对于java中的byte
SMALLINT:占用2个字节,相对于java中的short
INT:占用4个字节,相对于java中的int
BIGINT:占用8个字节,相对于java中的long
FLOAT:4字节单精度浮点类型,相对于java中的float
DOUBLE:8字节双精度浮点类型,相对于java中的double
4)逻辑型
BIT:
位类型,可以存储指定位的值,可以指定位的个数,如果不指定则默认值为1位,即只能保存0或1,对应到java中可以是boolean型。
5)日期型
DATE:日期
TIME:时间
DATETIME:日期时间
TIMESTAMP:时间戳
**DATETIME和TIMESTAMP的区别?
*DATETIME和TIMESTAMP显示的结果是一样的,都是固定的"YYYY-MM-DDHH:MM:SS"的格式
*DATETIME支持的范围是'1000-01-0100:00:00'到'9999-12-3123:59:59'。TIMESTAMP的显示范围是'1970-01-0100:00:00'到2037年,且其实际的存储值为1970年到当前时间的毫秒数。
*在建表时,列为TIMESTAMP的日期类型可以设置一个默认值,而DATETIME不行。
*在更新表时,可以设置TIMESTAMP类型的列自动更新时间为当前时间。
二、smallint是什么类型
SMALLINT是数据类型的一种。
功能:
需要2个字节存储的整数。
语法:
[UNSIGNED]SMALLINT
SMALLINT数据类型是一种精确数值数据类型,其精度在算术运算后不变。它需要2个字节存储。
有符号的SMALLINT值的范围是–2^15(2^15表示2的15次幂)到2^15–1,即–32768到32767。
无符号的SMALLINT值范围是0到2^16–1,即0到65535。INT是4字节数据,取值范围-2^31-2^31,所以在考虑最大数据范围的前提下,优先使用smallint类型。
·SQL/92与SQL/92兼容。UNSIGNED关键字是供应商扩展。
·Sybase带符号的数据类型与AdaptiveServerEnterprise兼容。AdaptiveServerEnterprise不支持UNSIGNED数据类型。