MatrixOne 从入门到实践 05——数据类型介绍
MatrixOne 从入门到实践——数据类型介绍
MatrixOne 的数据类型是和 MySQL 数据类型定义一致,可以参考:https://dev.mysql.com/doc/refman/8.0/en/data-types.html
在 MatrixOne 建表时,给字段定义一个恰当的数据类型是十分重要的。比如一下原则:
尽可能使用数字类型来代替字符串类型
尽可能使用更加准确的大小来描述字段类型
如果数据没有 Null 存在,那么可以在定义字段时使用 Not Null
类型介绍
整数类型
该类数据类型代表为严格数值类型
浮点类型
该类数据类型代表近似数值类型
字符串类型
该类数据类型表示字符串类型
日期与时间类型
该类数据类型表示日期或者时间类型
Bool 类型
该类型表示布尔值类型
精确数值类型 Decimal
示例
整数类型
tinyint
可以看出,tinyint 的范围为 [-128,127],超过这个范围或者不符合 tinyint 类型的数据 插入都会报错。
SMALLINT
可以看出,smallint 的范围为 [-32768,32767],超过这个范围或者不符合 smallyint 类型的数据插入都会报错。
INT
可以看出,int 的范围为 [-2147483648,2147483647],超过这个范围或者不符合 int 类型的数据插入都会报错。
BIGINT
取值范围如果加了 unsigned,则最小值为 0,最大值翻倍,如 tinyint unsigned 的取值范围为(0~255)。
浮点数类型
浮点型在数据库中存放的是近似值
FLOAT32
FLOAT64
double 默认会保存 17 位数字
字符串类型
char
无法手动指定 char 的个数,没有字符个数的限制,目前版本没有限制长度大小,可以导入超过 24 byte 的字符
varchar
无法手动指定 char 的个数,没有字符个数的限制,目前版本没有限制长度大小,可以导入超过 24 byte 的字符串
时间与日期类型
date
datetime
timestamp
Bool 类型
除了数值 0 或者字符串 '0' 能被转换为 FALSE,其余任何数值和字符串数值转换均为 TRUE
精确数值类型 Decimal
DECIMAL 列的声明语法是 DECIMAL(M, D). M 是有效数字的位数,取值范围是 1 到 38,D 是小数位数,取值范围是 1 到 38,但是不能大于 M。 如果不指定 D,默认为 0。如果不指定 M,默认为 10。
DECIMAL 列的数值以二进制的形式进行存储,在 MatrixOne 内部,只有 decimal64 和 decimal128 这两种表示形式。在 0-18 位精度内,一个 Decimal 数值占用 8 个字节的存储空间,在 19-38 位精度内,一个 Decimal 数值占用 16 个字节的存储空间。
版权声明: 本文为 InfoQ 作者【MatrixOrigin】的原创文章。
原文链接:【http://xie.infoq.cn/article/2606e2e0f1b9d617f7fda93b4】。文章转载请联系作者。
评论