Clickhouse-数据类型基本使用(二)

1、数据类型-枚举类实现

#打开客户端连接工具(-m:允许多行输入)
clickhouse-click -m

#创建表(枚举类的表)
CREATE TABLE t_enum ( x Enum8( 'hello'=1, 'world' = 2 ) ) ENGINE TinyLog;

#插入数据(多行插入)
insert into t_enum values('hello'),('world');

#查询
select * from t_enum;

#查询枚举类字符串对应的值
select cast(x,'Int8') from t_enum;

#根据code值进行插入
insert into t_enum values(1);

#根据条件查询每个具体的值
select * from t_enum where x='hello';

2、数据类型-时间类型

Date接受年-月-日的字符串类型: 2022-05-23

Datetime接受年-月-日 时:分:秒的字符串:2022-05-23 22:10:11

Datetime64接受年-月-日 时:分:秒.亚秒的字符串:2022-05-23 22:10:11.66


3、数据类型-数组:Array(T) T可以是任意类型,包含数组类型,但不建议使用多维数组,clickhouse对多维数组的支持有限。不能在MergeTree表中存储多维数组

#创建数组方式
select array(1,2) as x ,toTypeName(x);

效果等价
select [1,2] as x ,toTypeName(x);

4、数据类型-Nuallable(空值)

#创建可为null的空值表
CREATE TABLE t_null(x Int8, y Nullable(Int8)) ENGINE TinyLog;
#表中插入空值
INSERT INTO t_null VALUES (1, NULL), (2, 3);
#进行计算
SELECT x + y FROM t_null;

使用 Nullable 几乎总是对性能产生负面影响,在设计数据库时需注意

如何避免null值:数字类型可传无意义数值:-1

字符串类型可以传空字符串 

4 、字符型

5、Decimal型

7、布尔型

8、浮点型

9、整型

以上几种比较简单的操作,不一一介绍,具体参考官方api文档:数据类型

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值