当前位置: 首页 > news >正文

Clickhouse系列之连接工具连接、数据类型和数据库

基本操作

  • 一、使用连接工具连接
  • 二、数据类型
    • 1、数字类型
      • Int
      • Float
      • Decimal
    • 2、字符串类型
      • String
      • FixedString
      • UUID
    • 3、时间类型
      • DateTime
      • DateTime64
      • Date
    • 4、复合类型
      • Array
      • Enum
    • 5、特殊类型
      • Nullable
  • 三、数据库

一、使用连接工具连接

上一篇介绍了clickhouse的命令行登录,今天来介绍一下使用连接工具是如何登录的。
首先下载dbeaver连接工具,然后直接打开软件,如下图操作。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果发现8123不通,先排查防火墙是否关闭或者是否已添加8123端口,如果不是防火墙的问题,那么要查看/etc/clickhouse-server/config.xml文件里的<listen_host></listen_host>标签的值是否为0.0.0.0,如果不是则要修改为0.0.0.0,然后重启clickhosue服务:systemctl restart clickhouse-server。如果上述两个都正常是能够正常连接的,正常的端口如下图:
在这里插入图片描述

二、数据类型

1、数字类型

Int

在这里插入图片描述

Float

在这里插入图片描述

Decimal

如果要求更高精度的数值运算,则需要使用定点数。ClickHouse提供了Decimal32、Decimal64和Decimal128三种精度的定点数。可以通过两种形式声明定点:简写方式有Decimal32(S)、Decimal64(S)、Decimal128(S)三种,原生方式为Decimal(P,S),其中:
·P代表精度,决定总位数(整数部分+小数部分),取值范围是1~38;
·S代表规模,决定小数位数,取值范围是0~P。

2、字符串类型

字符串类型可以细分为String、FixedString和UUID三类。

String

字符串由String定义,长度不限。因此在使用String的时候无须声明大小。它完全代替了传统意义上数据库的Varchar、Text、Clob和Blob等字符类型。

FixedString

FixedString类型和传统意义上的Char类型有些类似,对于一些字符有明确长度的场合,可以使用固定长度的字符串。定长字符串通过FixedString(N)声明,其中N表示字符串长度。

UUID

UUID是一种数据库常见的主键类型,在ClickHouse中直接把它作为一种数据类型。UUID共有32位,它的格式为8-4-4-4-12。如果一个UUID类型的字段在写入数据时没有被赋值,则会依照格式使用0填充,例如:
00000000-0000-0000-0000-000000000000

3、时间类型

时间类型分为DateTime、DateTime64和Date三类。ClickHouse目前没有时间戳类型。时间类型最高的精度是秒,也就是说,如果需要处理毫秒、微秒等大于秒分辨率的时间,则只能借助UInt类型实现。

DateTime

DateTime类型包含时、分、秒信息,精确到秒,支持使用字符串形式写入,例如:
2019-06-22 00:00:00

DateTime64

DateTime64可以记录亚秒,它在DateTime之上增加了精度的设置,例如:
2019-06-22 00:00:00.00

Date

Date类型不包含具体的时间信息,只精确到天,它同样也支持字符串形式写入,例如:
2019-06-22

4、复合类型

除了基础数据类型之外,ClickHouse还提供了数组、枚举等复合类型。

Array

在同一个数组内可以包含多种数据类型,例如数组[1,2.0]是可行的。但各类型之间必须兼容,例如数组[1,‘2’]则会报错。在定义表字段时,数组需要指定明确的元素类型,例如:
CREATE TABLE Array_TEST (
c1 Array(String)
) engine = Memory

Enum

ClickHouse支持枚举类型,这是一种在定义常量时经常会使用的数据类型,ClickHouse提供了Enum8和Enum16两种枚举类型。
CREATE TABLE Enum_TEST (
c1 Enum8(‘ready’ = 1, ‘start’ = 2, ‘success’ = 3, ‘error’ = 4)
) ENGINE = Memory;

在定义枚举集合的时候,有几点需要注意。首先,Key和Value是不允许重复的,要保证唯一性。其次,Key和Value的值都不能为Null,但Key允许是空字符串。在写入枚举数据的时候,只会用到Key字符串部分,例如:
INSERT INTO Enum_TEST VALUES(‘ready’);

数据在写入的过程中,会对照枚举集合项的内容逐一检查。如果Key字符串不在集合范围内则会抛出异常

5、特殊类型

Nullable

准确来说,Nullable并不能算是一种独立的数据类型,它更像是一种辅助的修饰符,需要与基础数据类型一起搭配使用。
CREATE TABLE Null_TEST (
c1 String,
c2 Nullable(UInt8)
) ENGINE = Memory;

三、数据库

创建数据库:
CREATE DATABASE IF NOT EXISTS db_name

查看数据库:
SHOW DATABASES
┌─name───┐
│ DB_TEST │
│ default │
│ system │
└───────┘

切换数据库:
use db_name

删除数据库:
DROP DATABASE [IF EXISTS] db_name

如果你有什么意见或建议,请在评论区发表评论!如果能帮助到你学习新知识,欢迎点赞、收藏+关注

下集预告,Clickhouse的数据表相关知识,包括:数据表定义、临时表、分区表还有数据表的基本操作(修改、删除、清空等操作)

相关文章:

Clickhouse系列之连接工具连接、数据类型和数据库

基本操作 一、使用连接工具连接二、数据类型1、数字类型IntFloatDecimal 2、字符串类型StringFixedStringUUID 3、时间类型DateTimeDateTime64Date 4、复合类型ArrayEnum 5、特殊类型Nullable 三、数据库 一、使用连接工具连接 上一篇介绍了clickhouse的命令行登录&#xff0c…...

【深入理解设计模式】原型设计模式

原型设计模式 原型设计模式&#xff08;Prototype Pattern&#xff09;是一种创建型设计模式&#xff0c;它允许通过复制已有对象来创建新对象&#xff0c;而无需直接依赖它们的具体类。这种模式通常用于需要频繁创建相似对象的场景&#xff0c;以避免昂贵的创建操作或初始化过…...

Python算法题集_图论(课程表)

Python算法题集_课程表 题207&#xff1a;课程表1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【循环递归全算】2) 改进版一【循环递归缓存】3) 改进版二【循环递归缓存反向计算】4) 改进版三【迭代剥离计数器检测】 4. 最优算法5. 相关资源 本…...

视频评论挖掘软件|抖音视频下载工具

针对抖音视频下载的需求&#xff0c;我们开发了一款功能强大的工具&#xff0c;旨在解决用户在获取抖音视频时需要逐个复制链接、下载的繁琐问题。我们希望用户能够通过简单的关键词搜索&#xff0c;实现自动批量抓取视频&#xff0c;并根据需要进行选择性批量下载。因此&#…...

Linux学习方法-框架学习法——Linux驱动架构的演进

配套视频学习链接&#xff1a;https://www.bilibili.com/video/BV1HE411w7by?p4&vd_sourced488bc722b90657aaa06a1e8647eddfc 目录 Linux驱动演进的过程 Linux驱动的原始架构(Linux V2.4) 平台总线架构(platform) Linux设备树 Linux驱动演进的趋势 Linux驱动演进的过程…...

Spring Boot基础面试问题(一)

上篇文章中10个Spring Boot面试问题的标准答案&#xff1a; 什么是Spring Boot&#xff1f;它与Spring框架有什么区别&#xff1f; 标准回答&#xff1a;Spring Boot是基于Spring框架的快速开发框架&#xff0c;它简化了Spring应用程序的搭建和配置过程&#xff0c;提供了一套自…...

电路设计(28)——交通灯控制器的multisim仿真

1.功能设定 南北、东西两道的红灯时间、绿灯时间均为24S&#xff0c;数码管显示倒计时。在绿灯的最后5S内&#xff0c;黄灯闪烁。有夜间模式&#xff1a;按下按键进入夜间模式。在夜间模式下&#xff0c;数码管显示计数最大值&#xff0c;两个方向的黄灯不停闪烁。 2.电路设计 …...

【Docker】免费使用的腾讯云容器镜像服务

需要云服务器等云产品来学习Linux可以移步/-->腾讯云<--/官网&#xff0c;轻量型云服务器低至112元/年&#xff0c;新用户首次下单享超低折扣。 目录 1、设置密码 2、登录实例&#xff08;sudo docker login xxxxxx&#xff09; 3、新建命名空间&#xff08;每个命名空…...

如何让qml使用opengl es

要让 QML 使用 OpenGL ES&#xff0c;您需要确保项目配置正确&#xff0c;并在应用程序中使用 QSurfaceFormat 来设置 OpenGL ES 渲染。 以下是一些步骤来配置 QML 使用 OpenGL ES&#xff1a; 1、项目配置&#xff1a;在您的项目配置文件&#xff08;例如 .pro 文件&#xf…...

金航标电子位于广西柳州鹿寨县天线生产基地于大年正月初九开工了!!

金航标电子位于广西柳州鹿寨县天线生产基地于大年正月初九开工了&#xff01;&#xff01;&#xff01;金航标kinghelm&#xff08; http://www.kinghelm.com.cn &#xff09;总部位于中国深圳市&#xff0c;兼顾技术、成本、管理、效率和可持续发展。东莞塘厦实验室全电波暗…...

FlinkCDC详解

1、FlinkCDC是什么 1.1 CDC是什么 CDC是Chanage Data Capture&#xff08;数据变更捕获&#xff09;的简称。其核心原理就是监测并捕获数据库的变动&#xff08;例如增删改&#xff09;&#xff0c;将这些变更按照发生顺序捕获&#xff0c;将捕获到的数据&#xff0c;写入数据…...

力扣代码学习日记六

Problem: 66. 加一 思路 给定一个由 整数 组成的 非空 数组所表示的非负整数&#xff0c;在该数的基础上加一。 最高位数字存放在数组的首位&#xff0c; 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外&#xff0c;这个整数不会以零开头。 示例 1&#xff1a; 输…...

「Python系列」Python标准库

文章目录 一、 os 模块&#xff1a;文件和目录操作二、 sys 模块&#xff1a;与Python解释器交互三、 datetime 模块&#xff1a;日期和时间处理四、 json 模块&#xff1a;处理JSON数据五、 re 模块&#xff1a;正则表达式六、 time模块1. 获取当前时间2. 延迟执行&#xff08…...

虚拟列表【vue】等高虚拟列表/非等高虚拟列表

文章目录 1、等高虚拟列表2、非等高虚拟列表 1、等高虚拟列表 参考文章1 参考文章2 <!-- eslint-disable vue/multi-word-component-names --> <template><divclass"waterfall-wrapper"ref"waterfallWrapperRef"scroll"handleScro…...

【MySQL】如何理解索引(高频面试点)

一、前言 首先这个博客会介绍一些关于MySQL中索引的基本内容以及一些基本的语法&#xff0c;当然里面也会有些常见的面试题的解答。 二、关于索引 1、概念 索引是一种能够帮助MySQL高效的去磁盘检索数据的一种数据结构。在MySQL的Innodb存储引擎中呢&#xff0c;采用的是B树的…...

NXP实战笔记(四):S32K3xx如何产生中心对称三相六路波形

目录 1、概述 1.1、理论基础 2、RTD实现 2.1、Emios时基配置 2.1.1、EmiosMcl 2.1.2、EmiosCommon 2.2、Emios PWM配置 2.3、TRGMUX 2.4、LCU 2.5、外设信号配置 3、代码实现 4、测试结果 1、概述 电机控制中需要产生三相六路SVPWM进行占空比与周期调制,怎么通过RT…...

关于uniapp H5应用无法在触摸屏正常显示的处理办法

关于uniapp H5应用无法在触摸屏正常显示的处理办法 1、问题2、处理3、建议 1、问题 前几天&#xff0c; 客户反馈在安卓触摸大屏上无法正确打开web系统&#xff08;uni-app vue3开发的h5 应用&#xff09;&#xff0c;有些页面显示不出内容。该应用在 pc 端和手机端都可以正常…...

Stable Diffusion 3 发布,AI生图效果,再次到达全新里程碑!

AI生图效果&#xff0c;再次到达全新里程碑&#xff01; Prompt&#xff1a;Epic anime artwork of a wizard atop a mountain at night casting a cosmic spell into the dark sky that says "Stable Diffusion 3" made out of colorful energy 提示&#xff08;意译…...

单例模式怎样实现单例(独例)?

在类定义中加入私有属性 __init__flag Ture,在随后的初始化处理中&#xff0c;判断该属性为真时进行相应的初始化操作&#xff0c;否则&#xff0c;跳过相应的初始化操作。这个机制&#xff0c;保证在进行后续的调用时&#xff0c;不再占用额外的内存开销。 当然了&#xff0c…...

MySQL——基础内容

目录 第01章_数据库概述 关系型数据库(RDBMS)——表、关系模型 非关系型数据库(非RDBMS) 表、记录、字段 表的关联关系 一对一关联 一对多关系 多对多 自我引用 第02章_MySQL环境搭建 登录命令 常用命令 show databases; create database use 数据库名 show tables 第03章…...

Solidworks PDM二次开发实战:文件夹权限与数据卡配置详解

1. Solidworks PDM二次开发入门指南 如果你正在使用Solidworks PDM管理产品数据&#xff0c;可能会遇到需要批量创建文件夹并设置权限的场景。比如新项目启动时&#xff0c;需要为不同部门创建标准化的文件夹结构&#xff0c;同时设置工程师只读、管理员完全控制的权限规则。手…...

3分钟掌握跨平台模组下载神器:WorkshopDL全攻略

3分钟掌握跨平台模组下载神器&#xff1a;WorkshopDL全攻略 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 还在为Epic Games或GOG平台的游戏无法使用Steam创意工坊模组而烦恼吗…...

UEFITool深度解析:实战指南与高效使用技巧

UEFITool深度解析&#xff1a;实战指南与高效使用技巧 【免费下载链接】UEFITool UEFI firmware image viewer and editor 项目地址: https://gitcode.com/gh_mirrors/ue/UEFITool UEFITool是一款专为UEFI固件分析设计的开源工具&#xff0c;能够将复杂的二进制固件映像…...

DriveBench:面向真实驾驶场景的长序列多智能体交互基准测试框架

1. 项目概述&#xff1a;从“世界基准”到“驾驶基准”的演进如果你在自动驾驶或者计算机视觉领域摸爬滚打过几年&#xff0c;一定对“基准测试”&#xff08;Benchmark&#xff09;这个词又爱又恨。爱的是&#xff0c;它提供了一个相对公平的擂台&#xff0c;让不同算法、不同…...

别再为嵌入式设备大内存发愁了!手把手教你用CMA(连续内存分配器)搞定Linux视频编解码缓冲区

嵌入式多媒体开发中的连续内存优化实战&#xff1a;CMA技术深度解析 在嵌入式多媒体开发领域&#xff0c;视频编解码、图像处理等任务对内存管理提出了严苛要求。当你在树莓派上部署视频监控系统&#xff0c;或在工业摄像头中实现实时H.264编码时&#xff0c;是否经常遇到这样的…...

U-Boot实战:FAT文件系统五大核心命令详解与应用

1. U-Boot与FAT文件系统基础认知 刚接触嵌入式开发时&#xff0c;我第一次在U-Boot环境下操作FAT文件系统就踩了个大坑——试图用ext4write命令操作FAT32格式的SD卡&#xff0c;结果系统直接报错"Unknown command"。这个经历让我深刻认识到&#xff1a;U-Boot对文件系…...

别再只会Commit了!用Git Desktop搞定分支合并与冲突解决(附真实开发场景)

别再只会Commit了&#xff01;用Git Desktop搞定分支合并与冲突解决&#xff08;附真实开发场景&#xff09; 当你第一次接触Git时&#xff0c;可能觉得它就是个"保存按钮"——每次改完代码就commit一下。但随着项目规模扩大&#xff0c;特别是多人协作时&#xff0c…...

大语言模型长上下文建模:从注意力优化到Mamba架构的工程实践

1. 项目概述&#xff1a;为什么长上下文建模是LLM的“圣杯”&#xff1f;如果你在过去一年里深度使用过任何主流的大语言模型&#xff0c;无论是ChatGPT、Claude还是开源的Llama、Qwen&#xff0c;一个共同的痛点一定让你印象深刻&#xff1a;“它好像不记得我们之前聊了什么”…...

Bun用Rust重写核心代码,百万行新增代码直接把GitHub干爆了!

Bun 项目刚刚完成了一次惊人的技术跨越。5月14日&#xff0c;Bun 正式宣布其核心运行时已从 Zig 重写为 Rust——这个版本包含 6755 个 commit&#xff0c;二进制文件体积缩小 3-8 MB&#xff0c;性能测试在各个平台上均达到或超越原有水平。Jarred Sumner&#xff08;Bun 的创…...

Linux磁盘空间告警与清理实战

Linux磁盘空间告警与清理实战磁盘空间不足是 Linux 运维中最常见也最容易引发连锁故障的问题之一。很多服务平时运行正常&#xff0c;但一旦分区写满&#xff0c;轻则日志无法落盘&#xff0c;重则数据库异常、服务启动失败甚至系统不可用。中级技术人员不能只会“删文件腾空间…...