学习目标:
掌握 clickhouse入门知识
学习内容
创建枚举表
hadoop102 :) create table enum (boo Enum8( 'true'=0,'false'=1))engine=TinyLog;

插入数据
# 插入数据没有问题
hadoop102 :) insert into enum values ('true'),('false')
#查询数据
hadoop102 :) select * from enum;
SELECT *
FROM enum
┌─boo───┐
│ true │
│ false │
└───────┘
2 rows in set. Elapsed: 0.006 sec.
#插入错误类型提示
hadoop102 :) insert into enum values ('tru')
INSERT INTO enum VALUES
Exception on client:
Code: 49. DB::Exception: Unknown element 'tru' for type Enum8('true' = 0, 'false' = 1)
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 19.7.3 revision 54419.
查看表结构
hadoop102 :) select boo, cast(boo,'Int8') from enum
SELECT
boo,
cast(boo, 'Int8')
FROM enum
┌─boo───┬─cast(boo, 'Int8')─┐
│ true │ 0 │
│ false │ 1 │
└───────┴───────────────────┘
2 rows in set. Elapsed: 0.008 sec.
作用
可以间接的完成boolear类型的使用
数组
创建简单数组
局限:只能存同一种类型的元素,多种类型的需要用元组
hadoop102 :) select array(1,2,3) as arr ,toTypeName(arr)
SELECT
[1, 2, 3] AS arr,
toTypeName(arr)
┌─arr─────┬─toTypeName(array(1, 2, 3))─┐
│ [1,2,3] │ Array(UInt8) │
└─────────┴────────────────────────────┘
1 rows in set. Elapsed: 0.006 sec.

元组
创建元组
hadoop102 :) select tuple(1,'a') AS x ,toTypeName(x)
SELECT
(1, 'a') AS x,
toTypeName(x)
┌─x───────┬─toTypeName(tuple(1, 'a'))─┐
│ (1,'a') │ Tuple(UInt8, String) │
└─────────┴───────────────────────────┘
1 rows in set. Elapsed: 0.005 sec.

学习产出:
提示:这里统计学习计划的总量
例如:
1、 技术笔记 2 遍
2、CSDN 技术博客 3 篇
3、 学习的 vlog 视频 1 个
本文介绍了ClickHouse中的枚举表创建与数据插入,展示了如何处理错误类型输入。此外,还讲解了数组的创建与类型限制,以及元组的使用。通过这些内容,读者可以理解ClickHouse如何支持布尔类型的间接使用,以及数组和元组的数据结构。
684





