首页 > 后端开发 > Python教程 > 连接到多个数据库、进行或生成 SQL 查询、分析或可视化。

连接到多个数据库、进行或生成 SQL 查询、分析或可视化。

Barbara Streisand
发布: 2024-12-12 17:07:10
原创
142 人浏览过

Connect to multiple databases, make or generate SQL queries, analyze or visualize.

来源:https://github.com/HimrajDas/SQTHON

SQTHON

连接到多个数据库,运行原始 SQL 查询,执行分析并进行可视化。

目前正在研究:

  • SqthonAI使用您选择的 LLM 生成 SQL 查询 ?
  • 安全性改进
  • 新功能
  • 自定义异常以更好地展示错误 ?

包尚未发布到 pypi,并且正在使用诗歌制作。 ?

目前,该软件包仅适用于 Windows。

并为了您的安全创建一个虚拟环境。

安装?

1. 克隆存储库。

https://github.com/HimrajDas/SQTHON.git
登录后复制
登录后复制
cd sqthon
登录后复制
登录后复制

2.安装诗歌(如果没有安装)

使用 Windows powershell

(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -
登录后复制

使用 Linux、macOS、Windows (WSL)

curl -sSL https://install.python-poetry.org | python3 -
登录后复制

使用 pipx

pipx install poetry
登录后复制

3.使用poetry安装依赖

poetry install
登录后复制

替代安装?

pip install git https://github.com/HimrajDas/SQTHON

现在我该如何使用它?

1.在项目根目录中创建一个 .env 文件。 【必须要做的一步】

  • 像这样设置数据库密码:密码

2.让我们连接到数据库

from sqthon import Sqthon
# Instantiate the class. Passwords gets fetch from the .env file (that's why you have to create it)
sq = Sqthon(dialect="mysql", user="root", host="localhost", service_instance_name="MySQL service instance name")

# Connects to a database
conn1 = sq.connect_to_database(database="dbname", local_infile=True) # local_infile controls the infile settings for the client.
conn2 = sq.connect_to_database("dbname")

# or you can connect like this:
conn3 = sq.connect_db.connect(database="dbname") # not preferred ❌.
登录后复制

如果您的 MySQL 服务器未运行,则提供 service_instance_name 将自动启动服务器。
如果您没有以管理员身份运行脚本,它将要求管理员权限来启动服务器。

3.查询。

假设您有一个名为 dummy 的数据库?

连接到数据库。

dummy_conn = sq.connect_to_database(database="dummy")
登录后复制

现在,我如何运行一些查询?

# Suppose, You have a table named sales in the dummy database.
query = """
SELECT customer_name FROM sales;
"""

customer_names = dummy_conn.run_query(query=query) # it will return the result as pandas dataframe.
登录后复制

run_query 除了查询之外还有几个参数,它们是: visualize: bool = False,
plot_type:str = None,
x=无,
y=无,
标题=无。
如果您设置 visualize=True 并提供 xyplot_type 参数,那么它将返回一个图表以及
我认为这些数据不利于以后使用该变量。

4.可视化

https://github.com/HimrajDas/SQTHON.git
登录后复制
登录后复制

5.将 CSV 导入表

出于多种安全原因,我隔离了此功能。我的意思是它使用单独的
引擎将 csv 导入到您不需要担心的表中?
​​

它作为一个独立的方法存在于util.py中,与其他方法没有生命力。
目前仅支持mysql

方法名称:import_csv_to_mysqltable

它有参数:

  • 用户:str
  • 主持人:str
  • 数据库:str
  • csv_path:str
  • service_instance:str = None
  • 表:str

用户:用户名,
主持人:主持人,
数据库:数据库名称,
csv_path:csv 文件的相对或绝对路径。

table:表名,如果不存在则根据csv文件创建表
您无需担心数据类型。它会处理它。

cd sqthon
登录后复制
登录后复制

以上是连接到多个数据库、进行或生成 SQL 查询、分析或可视化。的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板