整形: 使用整数数据的精确数字数据类型有int、bigint、smallint和tinyint bigint:从-2^63 (-9223372036854775808)到2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。
int :从-2^31 (-2,147,483,648)到2^31–1 (2,147,483,647)的整型数据(所有数字)。存储大小为4个字节。int同义字为integer。
smallint :从-2^15 (-32,768)到2^15–1(32,767)的整型数据。存储大小为 2个字节。
tinyint :从0到255的整型数据。存储大小为1字节。
在支持整数值的地方支持 bigint 数据类型。但是,bigint 用于某些特殊的情况,当整数值超过 int 数据类型支持的范围时,就可以采用 bigint。在 SQL Server 中,int 数据类型是主要的整数数据类型。 在数据类型优先次序表中,bigint 位于 smallint 和 int 之间。 只有当参数表达式是 bigint 数据类型时,函数才返回 bigint。
浮点型MySQL 支持的三个浮点类型是 FLOAT、DOUBLE 和 DECIMAL 类型。FLOAT 数值类型用于表示单精度浮点数值,而 DOUBLE 数值类型用于表示双精度浮点数值。 float:1.用法:字段名 float(m,n)m->总位数不能超过7位,超过7位之后不会有错误提示但是数据会出问题。取值范围:-999.99~999.99 注意:浮点型插入整数时会自动补全小数位数,小数位如果多于制定的位数,会对下一个四舍五入 double:用法:字段名double(m,n),8个字节最多显示15个有效位 decimal:用法:dicimal(M,D),M+2个字节,最多显示28个有效位
字符类型char(定长) 取值范围:1~255 name char(5)# char的默认宽度为1,一般需要制定宽度 varchar(变长)取值范围:1~65535 不会浪费存储空间。 char和varchar的特点: char浪费了存储空间但是性能高 varchar节省了存储空间但是性能低
BINARY和VARBINARY类型 BINARY和VARBINARY类型类似于CHAR和VARCHAR类型,但是不同的是,它们存储的不是字符字符串,而是二进制串。所以它们没有字符集,并且排序和比较基于列值字节的数值值。 当保存BINARY值时,在它们右边填充0x00(零字节)值以达到指定长度。取值时不删除尾部的字节。比较时所有字节很重要(因为空格和0x00是不同的,0x00<空格),包括ORDER BY和DISTINCT操作。比如插入'a '会变成'a \0'。 对于VARBINARY,插入时不填充字符,选择时不裁剪字节。比较时所有字节很重要。 当类型为BINARY的字段为主键时,应考虑上面介绍的存储方式。 BLOB和TEXT类型 BLOB是一个二进制大对象,可以容纳可变数量的数据。有4种BLOB类型:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它们只是可容纳值的最大长度不同。 有4种TEXT类型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。这些对应4种BLOB类型,有相同的最大长度和存储需求。 BLOB列被视为二进制字符串。TEXT列被视为字符字符串,类似CHAR和BINARY。 在TEXT或BLOB列的存储或检索过程中,不存在大小写转换。 枚举类型定义:字段的值只能在列举的范围内选择. enum 单选(例如性别:只能选择男或女,最多有65535个不同的值) 字段名 enum(值1,值2,…) set 多选(最多有64个不同的值) 字段名 set(值1,值2,…) 日期时间类型year:年YYYY date:日期YYYYMMDD time:时间HHMMSS datetime:时间日期YYYYMMDDHHMMSS timestamp:日期时间YYYYMMDDHHMMSS
|