二进制类型
该文档只介绍Vastbase兼容MySQL的二进制类型,原Vastbase的二进制类型未做删除和修改,详见二进制类型。
类型 | 描述 | 存储空间 |
---|---|---|
BINARY(N) | 定长的二进制字符串,指定长度后未满足长度的将自动补齐。 binary与char相似,可存储字符,不同的是binary存储的是二进制值。 binary(N)中的N指的是字节长度。N取值范围为1~255(默认为1)。 | 4字节加上实际的二进制字符串(255字节),最大为259字节。 |
LONGBLOB | longblob是一种存储二进制数据的数据类型,可以用于存储大型二进制对象(blob),例如图像,音频和视频等数据。说明:列存不支持LONGBLOB类型。 | 最大为1GB减8203字节(即1073733621字节)。 |
MEDIUMBLOB | 二进制大对象。说明:列存不支持LONGBLOB类型。 | 最大为16M - 1字节。 |
示例
示例1: binary类型。
1、创建测试binary类型的表test_mysql_type2并插入测试数据。
CREATE TABLE test_mysql_type2(c1 binary(10));
INSERT INTO test_mysql_type2 values('a');
INSERT INTO test_mysql_type2 values('张三');
2、验证binary数据类型。
SELECT * FROM test_mysql_type2;
当结果显示如下信息,则表示验证完成。
c1
------------------------
\x61000000000000000000
\xe5bca0e4b88900000000
(2 rows)
示例2: longblob类型。
1、创建测试表并插入数据。
CREATE TABLE t_longblob
(c1 int primary key auto_increment,c2 longblob default 'test_default,测试默认值');
INSERT INTO t_longblob VALUE(1,'test1');
INSERT INTO t_longblob(c2) VALUES(default);
2、查询表中数据。
select * from t_longblob;
返回结果为:
c1 | c2
----+----------------------------------------------------------------
1 | \x7465737431
2 | \x746573745f64656661756c74efbc8ce6b58be8af95e9bb98e8aea4e580bc
(2 rows)
3、将longblob类型的二进制数据转换为UTF8编码的形式。
select c1,convert_from(rawsend(c2::raw),'utf8') from t_longblob;
- convert_from函数用来以数据库编码的方式转换字符串bytea。详细请参考convert_from。
- rawsend是内部处理函数,用于将raw类型数据转换为bytea。
数据表中的存储的longblob类型的二进制数据,经过上述转换之后查询返回结果为:
c1 | convert_from
----+--------------------------
1 | test1
2 | test_default,测试默认值
(2 rows)
示例3: mediumblob类型。
1、创建测试表并插入数据。
create temp table table_1157583(id int, c1 mediumtext, c2 mediumblob, c3 mediumint );
insert into table_1157583 values(1,'测试abc123',hextoraw('abcdef'),8388607);
2、查询表结构。
\d table_1157583
返回结果为:
Table "pg_temp__11_1_47706235078400.table_1157583"
Column | Type | Modifiers | Attalias
--------+------------+-----------+----------
id | integer | | id
c1 | text | | c1
c2 | mediumblob | | c2
c3 | integer | | c3
3、查询数据。
select * from table_1157583;
返回结果为:
id | c1 | c2 | c3
----+------------+----------+---------
1 | 测试abc123 | \xabcdef | 8388607
(1 row)