c语言sscanf函数的用法是什么
296
2022-09-26
【ClickHouse SQL 极简教程】SQL基础知识
《ClickHouse SQL 极简教程》系列文章目录:
1. ClickHouse SQL基础3
1.1. SQL概述3
1.1.1. SQL简史3
1.1.2. SQL概述4
1.1.3. ClickHouse SQL6
1.1.4. ClickHouse 查询分类7
1.2. 数据定义 8
1.2.1. 概述8
1.2.2. 创建数据库 9
Ø 数据库引擎Atomic与Ordinary对比10
1.2.3. 删除数据库 12
1.2.4. 创建MergeTree表12
1.2.5. 复制表22
1.2.6. 从查询语句创建表 24
1.2.7. 从表函数创建表27
1.2.8. 创建视图32
Ø Populate 释义37
1.2.9. 创建函数53
1.2.10. 创建字典55
1.2.11. RENAME 操作59
1.2.12. ALTER 操作60
Ø ClickHouse多盘存储配置71
1.2.13. DROP 操作73
1.3. 数据操作73
1.3.1. 概述73
1.3.2. 插入数据 74
1.3.3. UPDATE更新数据 75
1.3.4. DELETE删除数据 79
1.3.5. EXCHANGE操作81
Ø EXCHANGE实现原理83
1.3.6. OPTIMIZE操作85
Ø 配置项replication_alter_partitions_sync说明85
1.3.7. ATTACH操作87
1.3.8. DETACH操作88
1.4. 数据查询 90
1.4.1. 概述90
1.4.2. WITH子句92
Ø 公共表表达式(CTE)93
1.4.3. FROM子句94
1.4.4. SAMPLE子句96
1.4.5. JOIN子句98
1.4.6. PREWHERE子句100
1.4.7. WHERE子句103
1.4.8. GROUP BY子句105
1.4.9. HAVING子句108
1.4.10. SELECT子句111
1.4.11. DISTINCT子句113
1.4.12. LIMIT子句116
1.4.13. SETTINGS子句118
Ø Gigabyte与Gibibyte121
1.4.14. UNION子句122
1.4.15. INTERSECT子句125
1.4.16. EXCEPT子句128
1.4.17. INTO OUTFILE子句129
1.4.18. FORMAT子句130
1.4.19. SHOW 查询134
Ø watch 命令148
1.4.20. EXISTS 查询149
1.4.21. KILL查询150
Ø 关系代数与关系演算153
1.5. 数据控制154
1.5.1. 概述155
1.5.2. 创建用户158
1.5.3. 创建角色165
1.5.4. 创建行策略168
1.5.5. 创建配额172
1.5.6. 创建settings profile179
1.5.7. 修改用户180
1.5.8. 修改角色180
1.5.9. 修改行策略181
1.5.10. 修改配额181
1.5.11. 修改settings profile181
1.5.12. 撤销授权181
1.6. PROJECTION特性182
1.6.1. 新增高基维度投影182
1.6.2. 构建测试数据184
1.6.3. 关闭 Projection 优化开关测试184
1.6.4. 开启 Projection 优化开关测试185
1.6.5. 性能数据186
1.6.6. 维度字段基数对 Projection 性能的影响187
1.7. EXPLAIN命令188
1.7.1. EXPLAIN概述188
1.7.2. EXPLAIN类型189
1.7.3. EXPLAIN AST189
1.7.4. EXPLAIN SYNTAX195
1.7.5. EXPLAIN PLAN197
1.7.6. EXPLAIN PIPELINE201
Ø Tips:DOT纯文本图形描述语言205
1.7.7. EXPLAIN ESTIMATE208
1.8. 本章总结 209
1. ClickHouse SQL 基础
1. 数据定义语言 ( DDL )。也称为数据定义命令,因为它们用于定义数据表。
2. 数据操作语言 (DML)。用于通过添加、更改或删除数据来操作现有表中的数据。与定义数据存储方式的 DDL 命令不同,DML 命令在使用 DDL 命令定义的表中运行。
3. 数据查询语言(DQL)。仅包含一个命令SELECT,用于从表中获取特定数据。此命令有时与 DML 命令组合在一起。
4. 数据控制语言(DCL)。用于授予或撤销用户访问权限。事务控制语言命令用于更改某些数据的状态。例如,COMMIT事务更改或ROLLBACK事务更改。
本章主要介绍 ClickHouse SQL 相关内容。
1.1. SQL概述
1.1.1. SQL简史
SQL最初基于关系代数(relational algebra)和元组关系演算(tuple relational calculus),由多种类型的语句(statement)组成。SQL 是计算机科学领域历史上的关键里程碑,是计算历史上最成功的想法之一。
追溯到 1970 年代初,SQL 发展简史如下。
l 1970. EF Codd 的“大型共享数据库的数据关系模型”发表在Communications of the ACM上,为 RDBMS 奠定了基础。
l 1974. IBM 研究人员发表了一篇介绍结构化查询语言的文章,最初称为 SEQUEL,因为商标问题,改为 SQL。
l 1977. Relational Software Inc.(后来改名叫:Oracle,甲骨文公司)开始构建商业 RDBMS。
l 1979.甲骨文为 Digital Equipment Corp.的小型计算机系统提供了第一个商用 RDBMS。
l 1982. IBM 发布了 SQL/Data System,这是一种用于 IBM 大型机的 SQL RDBMS。
l 1985. IBM 发布了 Database 2,这是一种用于 IBM 的多虚拟存储大型机操作系统的 SQL RDBMS。
l 1986. ANSI 委员会和 ISO采用 SQL 作为标准。
l 1989. ISO SQL 标准的第一个修订版 SQL-89 发布。
l 1992. ISQ SQL 标准的第一个主要修订版 SQL-92 发布。
l 1999.第一个按照 ISO 命名标准命名的版本 ISO/IEC SQL:1999,增加了编程功能和对 Java的支持。
l 2003. ISO/IEC SQL:2003 增加了对可扩展标记语言 (XML) 对象的预定义数据类型的支持。
l 2006. ISO/IEC SQL:2006 扩展了与 XML 相关的功能。
l 2008. ISO/IEC SQL:2008 增加了对分区 JOIN 的支持,这是一种连接两个或多个表的方法,将连接的表视为单个表。
l 2011. ISO/IEC SQL:2011 改进了对包含时间相关数据的关系数据库的支持。
l 2016. ISO/IEC SQL:2016 添加了可选的新功能,包括JSON特性修订、对多态表函数和行模式匹配的支持等。
l 2019. ISO/IEC SQL:2019 多维数组(SQL/MDA)。制定了SQL关于多维数组类型 (MD Array) 操作功能支持。
1.1.2. SQL概述
众所周知,SQL结构化查询语言是一种数据库语言,我们使用SQL对现有的数据库执行某些操作,也可以使用 SQL来创建数据库、创建表。
SQL简介
SQL使用命令来执行任务。这些SQL命令主要分为四类:
l DDL(Data Definition Language):数据定义语言
l DQL(Data Query Language):数据查询语言
l DML(Data Manipulation Language):数据操作语言
l DCL(Data Control Language):数据控制语言
有时候,也会提到TCL(Transaction Control Language)事务控制语言。
SQL指令集如下图:
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~