赞
踩
ClickHouse是一种高性能的列式数据库管理系统,特别适用于需要快速处理大规模数据的应用场景。它具有强大的查询能力和扩展性,并支持标准的SQL语法。本文将介绍ClickHouse的常用SQL语法,包括数据查询、数据插入和更新、表操作等,并提供相应的案例和参数介绍。
SELECT语句用于从表中检索数据,可以使用以下语法:
SELECT 列名1, 列名2, ... FROM 表名 [WHERE 条件] [GROUP BY 列名] [ORDER BY 列名] [LIMIT 数量] |
参数说明:
案例:
-- 查询所有列 SELECT * FROM my_table; -- 查询指定列 SELECT column1, column2 FROM my_table; -- 查询满足条件的数据 SELECT * FROM my_table WHERE column1 = 1 AND column2 = 'abc'; -- 按列进行分组 SELECT column1, COUNT(*) FROM my_table GROUP BY column1; -- 对结果进行排序 SELECT * FROM my_table ORDER BY column1; -- 限制查询结果数量 SELECT * FROM my_table LIMIT 100; |
SELECT
列名
1,
列名
2, ...
FROM
表名
1
[
INNER
|
LEFT
|
RIGHT]
JOIN
表名
2
ON
条件
参数说明:
案例:
-- 内连接 SELECT * FROM table1 INNER JOIN table2 ON table1.column1 = table2.column2; -- 左连接 SELECT * FROM table1 LEFT JOIN table2 ON table1.column1 = table2.column2; -- 右连接 SELECT * FROM table1 RIGHT JOIN table2 ON table1.column1 = table2.column2; |
-- 在SELECT语句中使用子查询 SELECT column1, (SELECT AVG(column2) FROM my_table2) AS avg_value FROM my_table; -- 在FROM语句中使用子查询 SELECT t1.column1, t2.avg_value FROM my_table1 AS t1, (SELECT AVG(column2) AS avg_value FROM my_table2) AS t2 WHERE t1.column1 = t2.column1; |
INSERT
INTO
表名
(
列名
1,
列名
2, ...)
VALUES (
值
1,
值
2, ...)
参数说明:
案例:
-- 插入一条数据 INSERT INTO my_table (column1, column2) VALUES (1, 'abc'); -- 插入多条数据 INSERT INTO my_table (column1, column2) VALUES (2, 'def'), (3, 'ghi'); |
UPDATE
表名
SET
列名
1
=
值
1,
列名
2
=
值
2, ...
[
WHERE
条件
]
参数说明:
案例:
-- 更新满足条件的数据 UPDATE my_table SET column1 = 2 WHERE column2 = 'abc'; -- 更新所有数据 UPDATE my_table SET column1 = 2; |
CREATE TABLE 表名 ( 列名1 数据类型, 列名2 数据类型, ... [PRIMARY KEY (列名1, 列名2, ...)] [ENGINE = MergeTree([顺序号]) PRIMARY KEY (列名1, 列名2, ...)] [ORDER BY 列名] ) |
参数说明:
案例:
-- 创建表 CREATE TABLE my_table ( column1 Int32, column2 String ) ENGINE = MergeTree ORDER BY column1; |
DROP TABLE 表名
参数说明:
案例:
-- 删除表
DROP
TABLE my_table;
ALTER TABLE 表名
(
[ADD | MODIFY | DROP] COLUMN 列名 数据类型,
...
)
参数说明:
案例:
-- 添加列 ALTER TABLE my_table ADD COLUMN column3 UInt32; -- 修改列 ALTER TABLE my_table MODIFY COLUMN column3 Int64; -- 删除列 ALTER TABLE my_table DROP COLUMN column3; |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。