ホームページ > バックエンド開発 > Python チュートリアル > 複数のデータベースに接続し、SQL クエリを作成または生成し、分析または視覚化します。

複数のデータベースに接続し、SQL クエリを作成または生成し、分析または視覚化します。

Barbara Streisand
リリース: 2024-12-12 17:07:10
オリジナル
144 人が閲覧しました

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

出典: https://github.com/HimrajDas/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 install
ログイン後にコピー

代替インストール?

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

さて、どうやって使用すればよいでしょうか?

1.プロジェクトのルートに .env ファイルを作成します。 【必ずやるべきステップ】

  • データベースのパスワードを次のように設定します: password

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,
プロットタイプ: str = なし、
x=なし、
y=なし、
タイトル=なし。
visualize=True を作成し、xy、および plot_type 引数を指定すると、
とともにグラフが返されます。 後で変数を使用するのに適していないと思われるデータ。

4.可視化

https://github.com/HimrajDas/SQTHON.git
ログイン後にコピー
ログイン後にコピー

5. CSV をテーブルにインポートしています

いくつかのセキュリティ上の理由から、この機能を分離しました。私が言いたいのは、別の
を使用しているということです CSV をテーブルにインポートするエンジンですが、心配する必要はありません?

これは、他のメソッドとは関係のない別のメソッドとして util.py に存在します。
現在、mysql のみをサポートしています。

メソッド名: import_csv_to_mysqltable

パラメータは次のとおりです。

  • ユーザー: str
  • ホスト: str
  • データベース: str
  • csv_path: str
  • サービスインスタンス: str = なし
  • テーブル: str

ユーザー: ユーザー名、
ホスト: ホスト、
データベース: データベース名、
csv_path: CSV ファイルへの相対パスまたは絶対パス。

table: テーブル名。存在しない場合は、csv ファイルに従ってテーブルを作成します。
データ型について心配する必要はありません。それはそれを処理します。

cd sqthon
ログイン後にコピー
ログイン後にコピー

以上が複数のデータベースに接続し、SQL クエリを作成または生成し、分析または視覚化します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート