每天学点clickhouse

本文详细介绍ClickHouse的安装启动、基本操作及高级功能。涵盖服务端与客户端启动方式、数据查询、表与数据库管理、数据类型介绍及DDL语法等内容。

启动clickhouse

-- 启动clickhouse服务端
clickhouse-server start 

-- 启动clickhouse客户端
clickhouse-client     -- 这里启动客户端时如果后面+   -m  表示可以输入多行的命令,否则输入多行会报错

ClickHouse client version 21.4.6.55 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 21.4.6 revision 54447.

clickhouse01 :) ==>到这里说明成功进入clickhouse的客户端

查询有哪些数据库

clickhouse01 :)  show databases;

SHOW DATABASES
Query id: b310ea27-e950-4892-b96d-005d92ee9710
┌─name────┐
│ default │
│ system  │
└─────────┘

2 rows in set. Elapsed: 0.004 sec.

查询clickhouse有哪些函数

show functions;
Expected one of: TABLES, CLUSTER, CHANGED, GRANTS, CREATE, ACCESS, QUOTA, SETTINGS, CURRENT ROLES, 
PRIVILEGES, PROCESSLIST, CLUSTERS, DATABASES, CURRENT QUOTA, ENABLED ROLES, CREATE, DICTIONARIES, 
USERS, ROLES, SETTINGS PROFILES, PROFILES, ROW POLICIES, POLICIES, QUOTAS

查看当前数据库

select currentDatabase();
Query id: fc38cb0a-485f-489b-a497-11001e0c6209

┌─currentDatabase()─┐
│ default           │
└───────────────────┘

查看当前所有的表

show tables;

引擎:
①数据库引擎(使用默认的即可解决大部分场景)
②表引擎(建表一定指定表引擎)
③作用:
1 数据存储的位置
2 数据组织结构
3 是否分块 是否索引 是否持久化
4 是否可以并发读写
5 是否支持副本
6 是否支持分布式

创建数据库

create database if not exists test;

删除数据库test

drop database test;

建表

-- 注意在ck中关键字严格区分大小写
create table test.tb_a (
  id UInt32,
  name String,
  gender String,
  sal UInt32
) engine=Memory();
-- 这里指定的表引擎是Memory,表示表数据存储在内存中,因此退出客户端,重新连接,表就不存在了

查看表结构

desc test.tb_a;

DESCRIBE TABLE tb_a

Query id: cd5ca2f9-fafc-46b4-95ce-e20f4e6d3279

┌─name───┬─type───┬─default_type─┬─default_expression─┬─comment─┬─codec_expression─┬─ttl_expression─┐
│ id     │ UInt32 │              │                    │         │                  │                │
│ name   │ String │              │                    │         │                  │                │
│ gender │ String │              │                    │         │                  │                │
│ sal    │ UInt32 │              │                    │         │                  │                │
└────────┴────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┘

插入数据

insert into databaseName.tableName values(1,'zhangsan','M',3500),(2,'lisi','F',8000);

select * from test.tb_a;

Query id: af627f78-fb18-4579-a1f8-6e930d25b7c9

┌─id─┬─name─────┬─gender─┬──sal─┐
│  1 │ zhagnsan │ M      │ 3500 │
│  2 │ lisi     │ F      │ 8500 │
└────┴──────────┴────────┴──────┘

clickhouse为什么快

clickhouse使用c++写的,可以利用硬件优势
摒弃了hadoop生态
数据底层以列式数据存储
利用单节点的多核并行处理
为数据建立索引  一级索引  二级索引  稀疏索引
使用大量的算法处理数据
支持向量化处理
预先设计运算模型,预先计算

启动ck客户端的命令

--host/-h : 服务器的地址,默认为localhost,如果修改了clickhouse-server中的config.xml文件中的listen_host,则需要依赖此参数指定服务端地址
--post : 服务端的TCP端口,默认值为 9000,如果要修改config.xml内的tcp_port,则需要使用此参数指定
--user / -u : 登录的用户名,默认值为default
--password : 登录的密码,默认值为空,如果用户定义中未设置密码,则不需要填写(例如默认的default用户)
--database / -d : 登录的数据库,默认值为default
--query / -q : 只能再非交互式查询时使用,用于指定sql
--multiquery/ -m : 在非交互式执行时,允许一次运行多条sql,多条语句之间以分号分隔
--time / -t  : 在非交互式执行时,会打印每条sql的执行时间

clickhouse目录介绍

① /etc/clickhouse-server
服务器的配置文件目录,包括全局配置config.xml和用户配置users.xml等
②/var/lib/clickhouse
默认的数据存储目录(通常会修改默认路径配置,将数据保存到大容量磁盘挂载的路径)
③/var/log/clickhouse-server
默认保存日志的目录(通常会修改路径配置,将日志保存到大容量磁盘挂载的路径)
④/usr/bin

数值类型
Int8 Int16 Int32 Int64
UInt8 Uint16 UInt32 UInt64
String FixedString UUID

clickhouse中字符串只能用单引号,用双引号会报错,FixedString使用null字节填充末尾字符,
而Char通常使用空格填充,UUID是一种数据库常见的主键类型,共有32位,它的格式为8-4-4-4-12,如果一个
UUID类型的字段在写入数据时没有被赋值,则会依照格式使用0填充

Float32 Float64
Date DateTime DateTime64

Date类型不包含具体的事件信息,只能精确到天,支持字符串形式写入 年月日
DateTime类型包含时,分,秒信息,精确到秒,支持字符串形式写入  年月日时分秒
DateTime64 可以记录呀秒,它在
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值