Python3 使用 clickhouse_driver 操作 clickhouse

'''
版本:
Python 3.7 x86
clickhouse 24.6.1.3573
clickhouse-driver         0.2.7
'''

代码一:

from clickhouse_driver import Client# 准备参数
host = "192.168.1.112"
port = 9000
username = "default"
password = "123456"
database = "default"# client = Client('localhost')
client = Client(host=host,port=port,database=database,user=username,password=password)result = client.execute('SHOW TABLES')
print(type(result))
for table in result:print(table)
client.execute('DROP TABLE IF EXISTS test')
client.execute('CREATE TABLE test (x Int32) ENGINE = Memory')
client.execute('INSERT INTO test (x) VALUES',[{'x': 100}])
client.execute('INSERT INTO test (x) VALUES', [[200]])
client.execute('INSERT INTO test (x) ''SELECT * FROM system.numbers LIMIT %(limit)s',{'limit': 3})
sumdata = client.execute('SELECT sum(x) FROM test')
print(type(sumdata))
for i in sumdata:for k in i:print(k)'''
输出:
<class 'list'>
('my_table',)
('new_table',)
('test',)
('user',)
<class 'list'>
303
'''

代码二:

from clickhouse_driver import connect# 准备参数
host = "192.168.1.112"
port = 9000
username = "default"
password = "123456"
database = "default"# conn = connect('clickhouse://localhost')
conn = connect(host=host,port=port,database=database,user=username,password=password)cursor = conn.cursor()cursor.execute('SHOW TABLES')
print(cursor.fetchall())cursor.execute('DROP TABLE IF EXISTS test')
cursor.fetchall()cursor.execute('CREATE TABLE test (x Int32) ENGINE = Memory')
cursor.fetchall()cursor.executemany('INSERT INTO test (x) VALUES',[{'x': 100}])
cursor.rowcountcursor.executemany('INSERT INTO test (x) VALUES', [[200],[300]])
cursor.rowcountcursor.execute('INSERT INTO test (x)''SELECT * FROM system.numbers LIMIT %(limit)s',{'limit': 3})
cursor.rowcountcursor.execute('SELECT * FROM test')
result = cursor.fetchall()
print(type(result))
for i in result:print(i)'''
输出:
[('my_table',), ('new_table',), ('test',), ('user',)]
<class 'list'>
(100,)
(200,)
(300,)
(0,)
(1,)
(2,)
'''

代码三:

from clickhouse_driver import connect# 准备参数
host = "192.168.1.112"
port = 9000
username = "default"
password = "123456"
database = "default"# conn = connect('clickhouse://localhost')
conn = connect(host=host,port=port,database=database,user=username,password=password)# 创建游标
cursor = conn.cursor()cursor.execute('SHOW TABLES')
print(cursor.fetchall())# 删除表
cursor.execute('drop table if exists my_table')create_table_sql = "CREATE TABLE IF NOT EXISTS my_table (id Int32, name String, age Int32) ENGINE = MergeTree() ORDER BY id"# 执行创建数据表的 SQL 语句
cursor.execute(create_table_sql)# 批量插入数据
# insert_sql = "INSERT INTO my_table (id,name,age) VALUES (%(id)s,%(name)s,%(age)s)"
insert_sql = "INSERT INTO my_table (id,name,age) VALUES "'''
data = [{'id':1, 'name':'Alice', 'age':20},{'id':2, 'name':'Alice', 'age':20},{'id':3, 'name':'Alice', 'age':20},
]
'''
#
data = [(1,'Alice',20),(2,'Alice',20),(3,'Alice',20),
]# 执行批量插入数据的 SQL 语句
cursor.executemany(insert_sql, data)# 提交事务
conn.commit()cursor.execute('SELECT id FROM my_table')
result = cursor.fetchall()
print(type(result))
for i in result:print(i)# 关闭连接
conn.close()

'''
参考:
https://blog.51cto.com/u_16175492/8291625
https://blog.51cto.com/u_16213366/9389145
https://blog.51cto.com/u_16213301/8845983
https://clickhouse-driver.readthedocs.io/en/latest/quickstart.html
https://pypi.org/project/clickhouse-driver/
'''
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/856317.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记录一次递归查询导致的 java.lang.StackOverflowError: null

问题截图&#xff1a; 由于作者使用递归统计信息&#xff0c;刚开始这个接口运行得正常&#xff0c;但是上线运行一段时间后接口就出现了&#xff0c;如图的栈溢出错误。可以看出确实是堆栈溢出了&#xff0c;解决栈溢出目前只有两种方式&#xff1a; 第一种调大栈的大小&…

2024印尼电商:十大跨境电商平台排名

印尼电商市场火热&#xff0c;正在领跑东南亚电商。各位想做东南亚跨境电商的卖家可得牢牢抓住这个创业机会了&#xff0c;今天为大家盘点了印尼排名前10的跨境电商平台&#xff0c;注意&#xff0c;排名并不仅仅基于月访问量数据&#xff0c;想入局的快快行动起来吧&#xff0…

精华版 | 2024 Q1全球威胁报告一览

概要 Q1最热门的安全事件是XZ/liblzma后门高危漏洞。开发人员Andres Freund一次偶然情况下&#xff0c;发现了XZ/liblzma存在后门并对该漏洞进行报告。XZ/liblzma是一个广泛使用的开源工具&#xff0c;掌握该后门攻击者几乎可以访问任何运行受感染发行版的 Linux 机器。这一事…

Hadoop3:MapReduce中实现自定义排序

一、场景描述 以统计号码的流量案例为基础&#xff0c;进行开发。 流量统计结果 我们现在要对这个数据的总流量进行自定义排序。 二、代码实现 我们要对总流量进行排序&#xff0c;就是对FlowBean中的sumFlow字段进行排序。 所以&#xff0c;我们需要让FlowBean实现Writab…

360vr党建线上主题展立体化呈现企业的文化理念和品牌形象

在现代科技的引领下&#xff0c;艺术与VR虚拟现实技术相融合必将成为趋势&#xff0c;深圳VR公司华锐视点荣幸地推出VR艺术品虚拟展厅&#xff0c;为您带来前所未有的艺术观赏体验。体验者足不出户即可置身于一个充满创意与灵感的虚拟艺术空间。 我们深入了解每一位客户的需求与…

面试操作系统八股文十问十答第三期

面试操作系统八股文十问十答第三期 作者&#xff1a;程序员小白条&#xff0c;个人博客 相信看了本文后&#xff0c;对你的面试是有一定帮助的&#xff01;关注专栏后就能收到持续更新&#xff01; ⭐点赞⭐收藏⭐不迷路&#xff01;⭐ 1&#xff09;什么是用户态和内核态&am…

RestTemple请求GET接口403

问题描述 使用oss接口获取资源的时候&#xff0c;通过浏览器可以直接下载&#xff0c;在代码中使用RestTemplate的get方式访问的时候&#xff0c;出现403错误 问题排查 因为返回状态码是403&#xff0c;就想着是不是授权问题&#xff0c;因为有的接口是有防抓取规则的&…

中介子方程二十七

XXFXXdXuXWXπXXWXeXyXeXbXπXpXXNXXqXeXrXeXqXXNXXpXπXbXeXyXeXWXXπXWXuXdXXFXXEXyXαXiXXαXiXrXkXtXyXXpXVXXdXuXWXπXXWXeXyXeXbXπXpXXNXXqXeXrXeXqXXNXXpXπXbXeXyXeXWXXπXWXuXdXXVXpXXyXtXkXrXiXαXXiXαXyXEXXFXXEXyXαXiXXαXiXrXkXtXyXXpXVXXdXuXWXπXXWXeXyXeXbX…

使用Python操作PowerPoint演示文稿

哈喽,大家好,我是木头左! Python与PowerPoint的关联 在现代办公环境中,PowerPoint已经成为了展示信息、分享观点的重要工具。然而,有时候可能需要自动化一些重复的任务,比如批量创建PPT、自动填充内容等。这时,Python就派上了用场。Python是一种强大而灵活的编程语言,…

Linux系统mysql数据库备份和还原操作

Linux系统mysql数据库备份和还原操作 1、数据备份命令 &#xff08;1&#xff09;备份单个数据库 mysqldump -u username -p test>/home/bak/test20230708.sqlusername&#xff1a;表示数据库用户名称&#xff1b; test&#xff1a;是需要备份的数据库名称&#xff1b; 右…

“中国人对AI的态度最为积极”说明什么?

#AI技术服务 #AI智能应用 #AI合同 #合同AI服务 斯坦福大学的AI指数报告指出&#xff1a;“中国人对AI的态度最为积极……” 这一观点应是基于一系列的观察和研究得出的结果。如果这一观点成立&#xff0c;那么它或许说明了以下几个层面的意义: 首先&#xff0c;政策支持与…

总结之LangChain(二)——LCEL表达式、使用多链

LCEL介绍 LangChain 表达式语言&#xff08;LCEL&#xff09;是一种声明式的方法&#xff0c;可以轻松地将多个链条组合在一起。 LCEL 从第一天开始设计就支持将原型投入生产&#xff0c;无需进行代码更改&#xff0c;从最简单的“提示 LLM”链条到最复杂的链条&#xff08;…

Vue中定义src在img标签使用时加载不出来

Vue中定义src在img使用时加载不出来 问题&#xff1a;路径正确&#xff0c;但是图片加载不出来&#xff0c;如下示例&#xff1a; <!--vue3的语法&#xff0c;vue2类似--> <template><img :src""/> </template> <script setup>imp…

求职刷题力扣DAY29---贪心算法(还挺难的第二题)

DAY 29 1. 455. 分发饼干 假设你是一位很棒的家长&#xff0c;想要给你的孩子们一些小饼干。但是&#xff0c;每个孩子最多只能给一块饼干。 对每个孩子 i&#xff0c;都有一个胃口值 g[i]&#xff0c;这是能让孩子们满足胃口的饼干的最小尺寸&#xff1b;并且每块饼干 j&am…

华为联运:资源混淆导致的浮标显示异常

问题 显示正常 正常情况&#xff0c;华为联运包登录成功之后会显示浮标&#xff08;悬浮球&#xff09;&#xff0c;拖动浮标会出现拖到此处隐藏字样&#xff0c;如下所示&#xff1a; 显示异常 而在我们的横屏游戏中&#xff0c;遇到拖动到此处隐藏有部分内容被遮挡了&…

Windows系统电脑远程桌面控制本地局域网内树莓派详细教程

文章目录 前言1. 树莓派安装xrdp2. 注册cpolar账号3. 安装cpolar内网穿透4. 创建隧道映射端口5. Windows远程桌面控制树莓派总结 前言 本文主要介绍如何通过cpolar内网穿透&#xff0c;映射3389端口&#xff0c;生成公网TCP端口地址&#xff0c;通过该公网地址来实现公网环境下…

网页基础三剑客

目录 一、网页开发技术 1&#xff0e;HTML 2&#xff0e;CSS 3&#xff0e;JavaScript 二、网页的结构 三、 网页的分类 1&#xff0e;静态网页 2&#xff0e;动态网页 1&#xff0e;jQuery 2&#xff0e;AJAX 3&#xff0e;DHTML 2.3.4 网页数据的格式 1&#xf…

使用深度强化学习预测股票:DQN 、Double DQN和Dueling Double DQN对比和代码示例

深度强化学习可以将深度学习与强化学习相结合&#xff1a;深度学习擅长从原始数据中学习复杂的表示&#xff0c;强化学习则使代理能够通过反复试验在给定环境中学习最佳动作。通过DRL&#xff0c;研究人员和投资者可以开发能够分析历史数据的模型&#xff0c;理解复杂的市场动态…

AD23隐藏、展示铺铜

选中要隐藏的铜皮 --> 右键 --> 执行快捷键Y --> S 即可隐藏铺铜。 执行快捷键T --> G --> E 即可显示铺铜。

收银系统源码推荐,线下线上一体化收银系统

1.收银系统源码开发语言 核心开发语言: PHP、HTML5、Dart后台接口: PHP7.3后台管理网站: HTML5vue2.0element-uicssjs收银端【安卓/PC收银】: Dart3&#xff0c;框架&#xff1a;Flutter 3.11.0-6.0.pre.27商家小程序助手端: uniapp线上商城: uniapp 2.功能介绍 支持测试体验…