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

Python3 使用 clickhouse-connect 操作 clickhouse

'''
版本:
Python 3.7 x86
clickhouse 24.6.1.3573
clickhouse-connect        0.6.22
'''

代码一:

# pip install clickhouse-connectimport clickhouse_connect# 准备参数
host = "192.168.1.112"
port = 8123
username = "default"
password = "123456"
database = "default"client = clickhouse_connect.get_client(host=host,port=port,database=database,username=username,password=password,)# To run a ClickHouse SQL command, use the client command method:
client.command('CREATE TABLE IF NOT EXISTS new_table (key UInt32, value String, metric Float64) ENGINE MergeTree ORDER BY key')# To insert batch data, use the client insert method with a two-dimensional array of rows and values:
row1 = [1000, 'String Value 1000', 5.233]
row2 = [2000, 'String Value 2000', -107.04]
data = [row1, row2]
client.insert('new_table', data, column_names=['key', 'value', 'metric'])# To retrieve data using ClickHouse SQL, use the client query method:
result = client.query('SELECT max(key), avg(metric) FROM new_table')
print(result.result_rows)
print(result.row_count)
for data in result.result_rows:print(data)result = client.query('SELECT version()')
print(result.result_rows)'''
输出:
[(2000, -50.90350000000001)]
1
(2000, -50.90350000000001)
[('24.6.1.3573',)]
'''

代码二:

# pip install clickhouse-connect==0.6.22# 建立连接
import clickhouse_connect# 准备参数
host = "192.168.1.112"
port = 8123
username = "default"
password = "123456"
database = "default"# 建立连接
client  = clickhouse_connect.get_client(host=host,port=port,database=database,username=username,password=password,
)print(client)
print(client.server_version)# 删除表
client.command('drop table if exists user')# 创建表
# client.command('CREATE TABLE user (id UInt32, name String, age UInt32) ENGINE MergeTree ORDER BY id')# 新增数据
table = "user"
client.command(f'CREATE TABLE {table} (id UInt32, name String, age UInt32) ENGINE MergeTree ORDER BY id')# 新增数据 方式一 (19.xx 版本报错)
zs = [1, '张三', 23]
ls = [2, '李四', 24]
ww = [3, '王五', 35]
data = [zs, ls, ww]
columns = ["id", "name", "age"]
client.insert(table, data, column_names=columns)# 新增数据 方式二
client.query(f'insert into user (id, name, age) VALUES {tuple(zs)},{tuple(ls)},{tuple(ww)}')# 根据ID查询数据
id = 1
result = client.query(f'SELECT * FROM {table} where id={id}')
print(result.result_rows)# 查询所有数据
result = client.query(f'SELECT * FROM {table}')
print(result.result_rows)# 根据ID修改数据
id = 1
client.command(f"ALTER TABLE {table} UPDATE name='张三333' where id={id}")
# time.sleep(1)# 根据ID删除数据
id = 1
client.command(f"ALTER TABLE {table} DELETE WHERE id={id}")# 分页查询数据
result = client.query(f'SELECT * FROM {table} limit 2 offset 0')
print(result.result_rows)# 排序查询数据
result = client.query(f'SELECT id FROM {table} order by age desc limit 2 offset 0')
print(result.result_rows)
print(type(result.result_rows))
print(result.row_count)# 删除数据库表
# client.command(f'drop table if exists {table}')'''
输出:
<clickhouse_connect.driver.httpclient.HttpClient object at 0x00E0DC70>
24.6.1.3573
[(1, '张三', 23), (1, '张三', 23)]
[(1, '张三', 23), (2, '李四', 24), (3, '王五', 35), (1, '张三', 23), (2, '李四', 24), (3, '王五', 35)]
[(1, '张三333', 23), (2, '李四', 24)]
[(3, '王五', 35), (3, '王五', 35)]
<class 'list'>
2
'''

'''
参考:
https://blog.csdn.net/weixin_44786530/article/details/128094447
https://clickhouse.com/docs/en/integrations/python
https://pypi.org/project/clickhouse-connect/
https://mp.weixin.qq.com/s?__biz=MzA5NjQ1ODYwNg==&mid=2659081458&idx=1&sn=95ca7c1adf0eba1421ccd6422b80e1be&chksm=8b253ef3bc52b7e5b98f0419071fc8a2d6dcc8b6d20c6d50ffeba3cfb02a79246d9611421d11&mpshare=1&srcid=0606ecmYCO4FuLilOwvc7m7T&sharer_shareinfo=9c182e686cfe331385095c34d65701ab&sharer_shareinfo_first=9c182e686cfe331385095c34d65701ab&from=singlemessage&scene=1&subscene=10000&sessionid=1717747371&clicktime=1717751317&enterid=1717751317&ascene=1&fasttmpl_type=0&fasttmpl_fullversion=7239299-zh_CN-zip&fasttmpl_flag=0&realreporttime=1717751317382&devicetype=android-31&version=28003156&nettype=3gnet&abtest_cookie=AAACAA%3D%3D&lang=zh_CN&countrycode=CN&exportkey=n_ChQIAhIQH4h%2Fk168vKXNgPX%2FZxvclRLpAQIE97dBBAEAAAAAAB03CLwTsbYAAAAOpnltbLcz9gKNyK89dVj0wy6ZQsWlWt6X%2BkfuORNeZIBVrmstO04DrL%2FxXNP%2Fp02eyj%2B8qQ2WiFZtFUqM99gLP2VbHQQHM%2FEy156wLLedPLkNrqMlyLG5RA%2B0p0pI7FNDlrQfS%2B1lCQpFKQues%2FV4kZpXZWEXJX%2BHDYkk1DMygykOhU%2Bq%2FMMNp1weD0T2COJe51joz3MOH3ZV1sevgSJhajIh58YHdp6kh6cC5BvI0jL8LvlWXWft2GKrivr36tEVkKXQHUMoGimJXwiYY%2Fd1Zndn&pass_ticket=kKrK%2FLOHNWxyOWDkqhpS1yHTm7uiHLqhE%2BnnXOTE%2BWIMedYdokcCq7%2BZGMl0r6ce&wx_header=3
'''
 

相关文章:

Python3 使用 clickhouse-connect 操作 clickhouse

版本&#xff1a; Python 3.7 x86 clickhouse 24.6.1.3573 clickhouse-connect 0.6.22 代码一&#xff1a; # pip install clickhouse-connectimport clickhouse_connect# 准备参数 host "192.168.1.112" port 8123 username "default" passw…...

Python脚手架系列-DrissionPage

记录DrissionPage模块使用中的一些常常复用的代码,持续更新… 接管谷歌浏览器 from DrissionPage import ChromiumPage, ChromiumOptionsco ChromiumOptions().set_local_port(4249) driver ChromiumPage(addr_or_optsco)创建driver&#xff0c;如果浏览器已开启优先接管&am…...

Java中如何调用mysql中函数

在Java中调用MySQL中的函数&#xff08;无论是存储函数还是自定义函数&#xff09;&#xff0c;通常是通过JDBC&#xff08;Java Database Connectivity&#xff09;来完成的。以下是一个简单的步骤说明和示例代码&#xff0c;展示如何在Java中调用MySQL中的函数。 步骤 添加…...

Huggingface-cli 登录最新版(2024)

安装Huggingface-cli pip install -U "huggingface_hub[cli]"设置好git的邮箱和用户名和huggingface的github账号一致 git config --global user.mail xxx git config --global user.name xxx登录 复制token&#xff0c;划红线的地方&#xff0c;在命令行中点击右…...

Java学习 - Docker管理和容器命令 实例

docker管理 查看docker版本&#xff0c;检测是否可用 sudo docker version查看docker 系统信息 sudo docker infodocker容器命令 容器状态 容器标识 容器长uuid容器短uuid容器名字 查看容器状态 sudo docker status [容器标识1] [容器标识2] [容器标识n]深入查看容器信息 su…...

下载工程resources目录下的模板excel文件

一、添加依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>5.1.0</version> </dependency> 二、编写接口 GetMapping("/downloadTemplate")public void downlo…...

音频基础知识和音频指标

音频基础知识 声音 声音&#xff08;sound)是由物体振动产生的声波。物体在一秒钟之内振动的次数叫做频率&#xff0c;单位是赫兹&#xff0c;字母Hz。人耳可以识别的声音频率在 20 Hz~20000 Hz之间&#xff1b; 声音三要素&#xff1a; 响度 响度&#xff0c;…...

使用Vue CLI在其他磁盘创建项目出现错误及解决

Vue CLI是Vue.js官方推出的脚手架工具&#xff0c;可以帮我们快速的创建Vue项目框架。 我们创建Vue项目时一般默认都是在C盘&#xff0c;但由于某些因素我们需要在其他磁盘上创建Vue项目。 通过“winr”打开终端时默认位置都是C盘&#xff0c;但是Vue CLI不接受绝对路径作为参…...

关于lamda表达式的使用

Lambda表达式是一种匿名函数&#xff0c;即没有函数名的函数&#xff0c;它可以以更简洁、更灵活的方式编写代码。以下是Lambda表达式的常用方式&#xff1a; 无参数&#xff0c;无返回值&#xff1a; 如果抽象方法不带参数且不返回值&#xff0c;可以使用空括号和主体编写Lam…...

Android替换默认的按键音

替换audio_assets.xml文件 此文件在AudioService.java被调用 <!--文件位置 /frameworks/base/core/res/res/xml/--> <audio_assets version"1.0"><group name"touch_sounds"><asset id"FX_KEY_CLICK" file"Effect…...

Windows 服务器Nginx 下载、部署、配置流程(图文教程)

不定期更新 目录 一、下载Nginx安装包 二、上传安装包 三、启动Nginx 四、Nginx常用命令 五、Nginx&#xff08;最小&#xff09;配置详解 六、Nginx&#xff08;基础&#xff09;配置详解 七、反向代理 八、负载均衡 九、动静分离 十、报错 一、下载Nginx安装包 四…...

基于Redis实现共享session登录

搭配食用&#xff1a;Redis&#xff08;基础篇&#xff09;-CSDN博客 项目实现前的 Mysql中的表&#xff1a; 表说明tb_user用户表tb_user_info用户详情表tb_shop商户信息表tb_shop_type商户类型表tb_blog用户日记表&#xff08;达人探店日记)tb_follow用户关注表tb_voucher优…...

shell函数的定义

shell函数的定义 ​ 定义:将命令序列按照格式写在一起.格式指的是函数的固定格式 ​ 作用:方便重复使用,还可以做成函数库,集中在一起,随时可以传参调用,大的工程分割成小的模块,提高代码的可读性. 函数的格式 vim hanshu1.shfunction shopping {命令序列}shopping () {命令…...

vue部署宝塔nginx配置(获取用户ip地址、反代理访问api接口、websocket转发)

以下配置为我自己的需求&#xff0c;因人而异&#xff0c;如果只是单纯的前端非交互页面&#xff0c;可以不用修改配置。 代码及注释&#xff0c;如下&#xff1a; #解决vue-router设置mode为history&#xff0c;去掉路由地址上的/#/后nginx显示404的问题location / {proxy_htt…...

Jenkins教程-3-github自动化测试任务构建

上一小节我们学习了Jenkins在windows和mac系统上安装搭建环境的方法&#xff0c;本小节我们讲解一下Jenkins构建github自动化测试任务的方法。 接下来我们以windows系统为例&#xff0c;讲解一下构建实际自动化测试任务的具体步骤。 安装git和github插件 点击进入Jenkins插件…...

0元体验苹果macOS系统,最简单的虚拟机部署macOS教程

前言 最近发现小伙伴热衷于在VMware上安装体验macOS系统&#xff0c;所以就有了今天的帖子。 正文开始 首先&#xff0c;鉴于小伙伴们热衷macOS&#xff0c;所以小白搜罗了一圈macOS系统&#xff0c;并开启了分享通道。 本次更新的系统版本是&#xff1a; macOS 10.13.6 ma…...

Codeforces Round 946 (Div. 3) E. Money Buys Happiness

m m m个月&#xff0c;每个月月底发 x x x的薪水&#xff0c;也就是第 i i i个月只能用前 i − 1 i-1 i−1个月挣的钱&#xff0c;而不能用这个月挣的钱。第 i i i个月花费 c [ i ] c[i] c[i]的薪水能获得 h [ i ] h[i] h[i]的快乐度&#xff0c;问最多能获取的快乐度是多少。 …...

Git记录 上传至Gitee

1.GitHub拉去的代码需要上传至自己的Gitee需要清除原有remote服务器信息 查看原始远程服务器信息&#xff0c;后删除远程服务器信息 git remote -v git remote rm origin 2.Gitee新建软件仓库 法1&#xff09;不用初始化仓库&#xff0c;初始化会自动生成.git。如果本地.git…...

笔记-前端

URL 输入到渲染的过程 域名解析&#xff0c;找到服务地址 构建 TCP 连接&#xff0c;若有 https&#xff0c;则多一层 TLS 握手&#xff0c; 特殊响应码处理 301 302 解析文档 构建 dom 树和 csscom 生成渲染树&#xff1a;从DOM树的根节点开始遍历每个可见节点&#xff0c;对于…...

事务AOP

事物管理 事务管理是指对一系列数据库操作进行管理&#xff0c;确保这些操作要么全部成功执行&#xff0c;要么在遇到错误时全部回滚&#xff0c;以维护数据的一致性和完整性。在多用户并发操作和大数据处理的现代软件开发领域中&#xff0c;事务管理已成为确保数据一致性和完…...

RAM和ROM

1&#xff0c;RAM和ROM区别 RAM和ROM都是由来存储的&#xff0c;比如CPU缓存&#xff0c;电脑和手机内存等属于RAM,而固态硬盘&#xff0c;U盘&#xff0c;手机的128G,256G存储空间等都属于ROM。他们的最主要区别是RAM在断电后存储数据就没有了&#xff0c;而ROM在断电后存储数…...

聊聊系统架构之负载均衡优化实践

一、写在前面 最近在进行线上监控检查时&#xff0c;我遇到了两个超出预期的案例。首先&#xff0c;网关层的监控数据与应用实际监控数据存在不一致性&#xff0c;尤其是max有较大的差异&#xff0c;详见如下图。其次在某个应用中&#xff0c;通过httpclient请求某域名时发现只…...

代码规范性思考

表命名和设计 业务模块前缀&#xff1b;下划线分隔&#xff0c;体现业务含义&#xff1b;数据库字符集、字段名、类型、长度、默认值&#xff1b;一对一、一对多、多对多建表&#xff1b;注释清晰&#xff1b;良好的索引&#xff1b; 接口文档 swagger增强工具swagger-boots…...

TestProject Python SDK入门

2024软件测试面试刷题&#xff0c;这个小程序&#xff08;永久刷题&#xff09;&#xff0c;靠它快速找到工作了&#xff01;&#xff08;刷题APP的天花板&#xff09;-CSDN博客跳槽涨薪的朋友们有福了&#xff0c;今天给大家推荐一个软件测试面试的刷题小程序。​编辑https://…...

服务器数据恢复—EMC Isilon存储中被误删的虚拟机数据恢复案例

服务器存储数据恢复环境&#xff1a; EMC Isilon S200集群存储&#xff0c;共三个节点&#xff0c;每节点配置12块SATA硬盘。 服务器存储故障&#xff1a; 工作人员误操作删除虚拟机&#xff0c;虚拟机中数据包括数据库、MP4、AS、TS类型的视频文件等。需要恢复数据的虚拟机通…...

华为安全Security认证,你了解多少?

华为安全Security 认证包含HCIA-Security, HCIP-Security,HCIE-Security。HCIA-Security 掌握中小型网络信息安全基础知识与相关技术&#xff08;华为防火墙技术、加解密技术、PKI 证书体系等&#xff09;&#xff0c;具备搭建小型企业信息安全网络的能力&#xff0c;实现中小企…...

自动驾驶规划-RTT* 算法 【免费获取Matlab代码】

目录 1.算法原理3.结果展示4.参考文献5.代码获取 1.算法原理 RRT(Rapidly-Exploring Random Trees) 快速随机扩展树&#xff0c;是一种单一查询路径规划算法。RRT 将根节点作为搜索的起点&#xff0c;然后通过随机撒点采样增加叶子节点的方式&#xff0c;生成一个随机扩展树&a…...

shell编程中的运算符的讲解

在Linux操作系统中也可以使用expr来进行一些数值的运算&#xff0c;expr接受表达式作为参数&#xff0c;并打印计算结果。 对于某些复杂的表达式或早期不支持内嵌算术表达式的Shell环境&#xff0c;expr 仍然是一个可行的选择。 如上图所示&#xff0c;是使用变量sum来承接加和…...

yudao-ui-admin-vue3 nginx配置

本文记录一个yudao-ui-admin-vue3 nginx配置信息 一、安装依赖 npm install 二、编译打包 npm run build:prod三、修改.env.prod文件 # 请求路径 VITE_BASE_URL=http://IP地址/admin-api四、 nginx配置 server {listen 80;server_name localhost...

vue3第四十节(pinia的用法注意事项解构store)

pinia 主要包括以下五部分&#xff0c;经常用到的是 store、state、getters、actions 以下使用说明&#xff0c;注意事项&#xff0c;仅限于 vue3 setup 语法糖中使用&#xff0c;若使用选项式 API 请直接查看官方文档&#xff1a; 一、前言&#xff1a; pinia 是为了探索 vu…...

餐饮网站建设怎样/seo基础优化包括哪些内容

1&#xff0c;环境说明如下&#xff1a; Django1.8.2版本Python3.5版本MySql 5.7版本 2&#xff0c;错误出现如下&#xff1a; 3&#xff0c;解决办法 python3.XX以后使用小写的configparser&#xff0c;改为首字母大写即可 4&#xff0c;查看当前环境已安装的软件 5&#x…...

视频网站怎么做统计/seo前景

1 前言 1.1 学习阶段说明   从2016年9月开始接触IT&#xff0c;学习经历主要分为以下三个阶段 1.1.1 入门阶段 从最基础的前端技术HTML、JavaScript、CSS开始入门&#xff0c;再到后端技术Java基础、MySQL数据库基础知识、JDBC、Servclet、JSP。利用这些简单技术实现了从前端…...

有哪些可以接单做任务的网站/公司做网站推广

https://build.phonegap.com/注册账号将【index.html】文件打包压缩为.zip文件后上传 3.下载安卓版本&#xff08;.apk后缀文件&#xff09;&#xff0c;发送到手机后发现文件后缀变成了不是.apk结尾&#xff0c;在手机端【文件管理】将文件后缀修改为apk后安装即可访问。...

免费自己做网站软件/桂平seo关键词优化

如果用户还在连接&#xff0c;就无法删除&#xff0c;必须强制用户下线&#xff0c;当然我第一次遇到这个问题不是我没有断开而是好像数据库存在问题&#xff0c;当我重新登录pl/sql develop时问题就解决了&#xff0c;当然我们可以通过pl/sql develop主动断开会话。 (1)查看用…...

15.下面对网站结构描述正确的是( )/哪里可以代写软文

那么在经过了两个星期的时间完成的主要功能就是幻灯片和站点管理&#xff0c;在之后还有更多的任务要做&#xff0c;本来从时间的安排上不太合理&#xff0c;在这个月底要基本完成&#xff0c;主要是其他的组员也有比较重的任务&#xff0c;那么就是需要随时有一个状态&#xf…...

洛阳网站建设哪家便宜/线上推广有哪些渠道

iOS开发UI篇—UITableview控件简单介绍 一、基本介绍 在众多移动应⽤用中,能看到各式各样的表格数据 。 在iOS中,要实现表格数据展示,最常用的做法就是使用UITableView&#xff0c;UITableView继承自UIScrollView,因此支持垂直滚动,⽽且性能极佳 。 UITableview有分组和不分组两…...