跳到主要内容

与私有化部署 Databend 集成

本教程演示了如何使用 Python 连接到本地部署的 Databend 实例。我们将介绍三种方法——databend-driverdatabend-sqlalchemy 与连接器,以及 databend-sqlalchemy 与引擎——来执行基本操作,如创建数据库、添加表、插入数据、查询和清理资源。

开始之前

在开始之前,请确保您已成功安装本地 Databend。有关详细说明,请参阅 本地和 Docker 部署

第一步:准备 SQL 用户账户

要将您的程序连接到 Databend 并执行 SQL 操作,您必须在代码中提供一个具有适当权限的 SQL 用户账户。如果需要,请在 Databend 中创建一个,并确保该 SQL 用户仅具有必要的权限以确保安全。

本教程使用名为 'user1' 且密码为 'abc123' 的 SQL 用户作为示例。由于程序将向 Databend 写入数据,因此用户需要 ALL 权限。有关如何管理 SQL 用户及其权限的信息,请参阅 用户与角色

CREATE USER user1 IDENTIFIED BY 'abc123';
GRANT ALL on *.* TO user1;

第二步:编写 Python 程序

在此步骤中,您将创建一个与 Databend 通信的简单 Python 程序。该程序将涉及创建表、插入数据和执行数据查询等任务。

  1. 安装 databend-driver。
pip install databend-driver
  1. 将以下代码复制并粘贴到文件 main.py 中:
main.py
from databend_driver import BlockingDatabendClient

# 连接到本地 Databend,使用名为 'user1' 且密码为 'abc123' 的 SQL 用户作为示例。
client = BlockingDatabendClient('databend://user1:abc123@127.0.0.1:8000/?sslmode=disable')

# 创建一个游标以与 Databend 交互
cursor = client.cursor()

# 创建数据库并使用它
cursor.execute("CREATE DATABASE IF NOT EXISTS bookstore")
cursor.execute("USE bookstore")

# 创建表
cursor.execute("CREATE TABLE IF NOT EXISTS booklist(title VARCHAR, author VARCHAR, date VARCHAR)")

# 向表中插入数据
cursor.execute("INSERT INTO booklist VALUES('Readings in Database Systems', 'Michael Stonebraker', '2004')")

# 从表中查询数据
cursor.execute("SELECT * FROM booklist")
rows = cursor.fetchall()

# 打印结果
for row in rows:
print(f"{row[0]} {row[1]} {row[2]}")

# 删除表和数据库
cursor.execute('DROP TABLE booklist')
cursor.execute('DROP DATABASE bookstore')

# 关闭游标
cursor.close()
  1. 运行 python main.py
python main.py
Readings in Database Systems Michael Stonebraker 2004
开始使用 Databend Cloud
低成本
快速分析
多种数据源
弹性扩展
注册