一、基本语法
ClickHouse的基本语法与大部分数据库相似,如创建数据库,创建表,插入数据等等。下面是一些基本的ClickHouse语句:
1.创建数据库
CREATE DATABASE IF NOT EXISTS example_db
2.使用数据库
USE example_db
3.创建表
CREATE TABLE IF NOT EXISTS example_table
(
id UInt64,
name String,
age UInt8
)
ENGINE = MergeTree()
ORDER BY (id)
4.插入数据
INSERT INTO example_table(id, name, age) VALUES (1, ‘John’, 30), (2, ‘Mary’, 25), (3, ‘Tom’, 40)
二、查询语句
1.选择数据
SELECT id, name, age FROM example_table
2.过滤数据
SELECT id, name, age FROM example_table WHERE age > 30
3.排序数据
SELECT id, name, age FROM example_table ORDER BY age DESC
4.聚合数据
SELECT count(*) FROM example_table
SELECT name, max(age) FROM example_table GROUP BY name
5.更新数据
ALTER TABLE example_table UPDATE age = 50 WHERE name = ‘John’
6.删除数据
ALTER TABLE example_table DELETE WHERE name = ‘Tom’
三、高级语法
ClickHouse不仅支持基本的查询语句,还提供了一些高级语法,如JOIN,SUBQUERY等。
1.JOIN语法
SELECT id, example_table.name, age, company_table.company_name
FROM example_table
JOIN company_table ON example_table.id = company_table.id
2.SUBQUERY语法
SELECT id, name, age FROM example_table WHERE id IN (SELECT id FROM company_table WHERE company_name = ‘ABC’)