DDL

添加数据库字段

alter table user_tags add column last_subject String;
alter table user_tags add column class_trust_valids Int8;

删除列

ALTER TABLE [db].name [ON CLUSTER cluster] DROP COLUMN ...

日期函数 当toDate 遇到空的串报异常时

select toDate('');
DB::Exception: Cannot parse date: value is too short: Cannot parse Date from String: While processing toDate('').:) select toDateOrZero('');┌─toDateOrZero('')─┐
│       1970-01-01 │
└──────────────────┘:) SELECT toDateOrNull('')┌─toDateOrNull('')─┐
│             ᴺᵁᴸᴸ │
└──────────────────┘:) SELECT toDate(parseDateTimeBestEffortOrNull('20210601'))┌─toDate(parseDateTimeBestEffortOrNull('20210601'))─┐
│                                        2021-06-01 │
└───────────────────────────────────────────────────

ClickHouse 视图

  • 普通视图:不会存储数据
  • 物化视图:1、储存数据;2、有引擎,在磁盘存储;3、同步映射表数据

普通视图

CREATE [OR REPLACE] VIEW [IF NOT EXISTS] [db.]table_name [ON CLUSTER] AS SELECT ...

物化视图

CREATE MATERIALIZED VIEW [IF NOT EXISTS] [db.]table_name [ON CLUSTER] [TO[db.]name] [ENGINE = engine] [POPULATE] AS SELECT ...

例子:

CREATE MATERIALIZED VIEW IF NOT EXISTS view_2 ENGINE = MergeTree() PARTITION BY ds ORDER BY (unionid) POPULATE AS
SELECT distinct unionid, ds
from user_tags
where service_wx <> '' AND (grade = '2018' OR grade = '2017' OR grade = '2016' OR grade = '2015' OR grade = '2014' OR grade = '2013' OR grade = '2012' OR grade = '2011' OR grade = '2010' )
AND is_teacher=0 and (is_parent=1 or is_student=1)
;
  • 视图定义包括关键字POPULATE,决定了物化视图的更新策略:若有POPULATE 则在创建视图的过程会将源表已经存在的数据一并导入,类似于 create table … as
  • 若无POPULATE 则物化视图在创建之后没有数据

如果物化视图是由两个或者多个表Join生成,那么仅当左表插入数据时才更新,右表插入数据不更新(待验证),Join的数据类型一定要对等!它不会像Mysql一样做隐式类型转换!!不然就会出现类似: DB::Exception: Received from localhost:9000. DB::Exception:Type mismatch of columns to JOIN by: user_name String at left, uv Int32 at right.
参考:https://blog.csdn.net/whiteBearClimb/article/details/111284176

网站

中文教程网站https://clickhouse.com/docs/zh/sql-reference/syntax/

ClickHouse 学习相关推荐

  1. ClickHouse学习教程

    概述 官网 a fast open-source OLAP database management system. It is column-oriented and allows to genera ...

  2. ClickHouse学习笔记(二):执行计划、建表优化、语法优化规则、查询优化、数据一致性

    本文档基于目前较新稳定版21.7.3.14 一.Explain查看执行计划 在ClickHouse 20.6版本之前要查看SQL语句的执行计划需要设置日志级别为trace才能可以看到,并且只能真正执行 ...

  3. clickhouse学习笔记

    学习clickhouse之前得搞清楚,为什么会衍生出来这个数据库,解决什么问题,他能实现hadoop生态系统不能实现的什么功能.在往后看就有意思了.   2021-07-08 最近比较忙,懒得写: h ...

  4. Clickhouse学习

    一.新增操作 库相关 1.创建库的sql CREATE DATABASE IF NOT EXISTS chtest; --使用默认库引擎创建库 表相关 1.创建表sql CREATE TABLE de ...

  5. Clickhouse学习笔记03——常用语法及分布式搭建

    文章目录 五.查询语法 1.with 1.1 定义变量 1.2 调用函数 1.3 子查询 2.from 3.表函数 4.array join 5.关联查询 4.1 all 4.2 any 4.3 as ...

  6. 系统运维系列 之Clickhouse数据库学习集锦(增删改查操作)

    1 简介 本篇内容涉及一些增删改查操作,包括数据库.表,重点介绍字段的增加/删除操作,其中包含的内容均实际测试通过. 2 Clickhouse clickhouse是一款MPP架构的列式存储数据库,它 ...

  7. 学习笔记_ClickHouse

    ClickHouse 学习链接 1.ClickHouse介绍 ClickHouse是什么? 由白俄罗斯Yandex公司开源的数据库,转为OLAP而设计.Yandex是俄罗斯最大的搜索引擎公司,官方称C ...

  8. ClickHouse 相关博客

    什么叫副本 replica,什么叫分片 shard? ClickHouse学习系列之四[副本&分片部署说明] - jyzhou - 博客园 MergeTree + Replicated 引擎介 ...

  9. 2021安全范儿高校挑战赛ByteCTF线上赛部分Writeup

    文章目录 MISC-Checkin MISC-Survey MISC-HearingNotBelieving MISC-frequently WEB-double sqli MISC题目附件自取 链接 ...

最新文章

  1. Java面试之Java基础下册(含答案)
  2. Python + HTMLTestRunner + smtplib 完成测试报告生成及发送测试报告邮件
  3. 支持向量机SVM(四)
  4. 机器学习评价指标大汇总
  5. C++对象数组与对象指针
  6. 今天提交了一个patch开心,呵呵
  7. 丰巢快递将强制收费引网友吐槽,全国第一驿站表示继续免费
  8. 面试官:背了几道面试题就敢说熟悉Java源码?我们不招连源码都不会看的人|原力计划...
  9. 微信封杀百度红包;刘强东新开公司;库克“iPhone 表现不好”| 极客头条
  10. php求两个数组的差值,数组计算差值及项的小计,该如何处理
  11. 帮你轻松理解Commonjs、AMD、CMD、ES6的区别
  12. BZOJ3108 [cqoi2013]图的逆变换
  13. 【校内模拟】2048
  14. MyBatis 拦截器执行顺序
  15. 令牌环 典型例题分析解答
  16. es管理器免root_re管理器和es管理器哪个好
  17. java 异步编程 CompletableFuture
  18. 爬虫内容保存到txt文件
  19. 【如何设定系统的定时与延迟任务】
  20. java 父委托机制优点_Java虚拟机父类委托机制设计的优点

热门文章

  1. 一文入门 Zookeeper
  2. 设计模式 之美 -- 工厂方法模式
  3. 二叉树 1.0 -- 创建二叉树、遍历二叉树、二叉树常见问题求解
  4. Flask-login Question
  5. NPOI导Excel样式设置
  6. 传智播客还收费 兄弟会都是免费的
  7. 用户至上-阿里马马篇
  8. VINS-mono详细解读与实现
  9. JavaScript跨域总结与解决办法
  10. expires与etag控制页面缓存的优先级