Rumah >pembangunan bahagian belakang >Tutorial Python >Sambung ke berbilang pangkalan data, buat atau jana pertanyaan SQL, analisis atau visualisasikan.

Sambung ke berbilang pangkalan data, buat atau jana pertanyaan SQL, analisis atau visualisasikan.

Barbara Streisand
Barbara Streisandasal
2024-12-12 17:07:10196semak imbas

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

Sumber: https://github.com/HimrajDas/SQTHON

SQTHON

Sambung ke berbilang pangkalan data, jalankan pertanyaan SQL mentah, lakukan analisis dan buat visualisasi.

Sedang mengusahakan:

  • SqthonAI: hasilkan pertanyaan SQL menggunakan LLM pilihan anda ?
  • Peningkatan keselamatan?
  • Ciri Baharu
  • pengecualian tersuai untuk pameran ralat yang lebih baik ?

Pakej belum diterbitkan kepada pypi lagi dan sedang dibuat menggunakan puisi. ?

Pada masa ini, pakej ini akan berfungsi pada tingkap sahaja.

Dan untuk keselamatan anda cipta persekitaran maya.?

Pemasangan ?

1. Klon repositori.

https://github.com/HimrajDas/SQTHON.git
cd sqthon

2. Pasang puisi (jika tidak dipasang)

Menggunakan Windows powershell

(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -

Menggunakan Linux, macOS, Windows (WSL)

curl -sSL https://install.python-poetry.org | python3 -

Menggunakan pipx

pipx install poetry

3. Pasang kebergantungan menggunakan puisi

poetry install

Pemasangan alternatif ?

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

Sekarang bagaimana cara saya menggunakannya?

1. Cipta fail .env dalam akar projek anda. [langkah yang mesti dilakukan]

  • tetapkan kata laluan pangkalan data seperti ini: kata laluan

2. Mari sambung ke pangkalan data.

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 ❌.

Jika pelayan MySQL anda tidak berjalan maka menyediakan service_instance_name akan memulakan pelayan secara automatik.
Jika anda tidak menjalankan skrip sebagai pentadbir, ia akan meminta keistimewaan pentadbir untuk memulakan pelayan.

3. Pertanyaan.

Katakan anda mempunyai pangkalan data bernama dummy ?

Sambung ke pangkalan data.

dummy_conn = sq.connect_to_database(database="dummy")

Sekarang, bagaimana saya menjalankan beberapa pertanyaan?

# 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 mempunyai beberapa param selain pertanyaan, ia adalah: visualize: bool = False,
jenis_plot: str = Tiada,
x=Tiada,
y=Tiada,
tajuk=Tiada.
Jika anda membuat visualize=True dan memberikan x, y dan plot_type args maka ia akan mengembalikan graf bersama
data yang saya rasa tidak sesuai untuk kegunaan pembolehubah nanti.

4. Visualisasi.

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

5. Mengimport CSV ke Jadual.

Saya telah mengasingkan ciri ini atas beberapa sebab keselamatan. Apa yang saya maksudkan ialah ia menggunakan
yang berasingan enjin untuk mengimport csv ke meja yang anda tidak perlu risau ?

Ia wujud dalam util.py sebagai kaedah yang berasingan tanpa kehidupan daripada yang lain.
Pada masa ini ia menyokong mysql sahaja.

Nama Kaedah: import_csv_to_mysqltable

Params ia mempunyai:

  • pengguna: str
  • hos: str
  • pangkalan data: str
  • csv_path: str
  • contoh_perkhidmatan: str = Tiada
  • jadual: str

pengguna: nama pengguna,
hos: hos,
pangkalan data: nama pangkalan data,
csv_path: laluan relatif atau mutlak ke fail csv.

jadual: nama jadual, jika ia tidak wujud maka ia akan mencipta jadual mengikut fail csv.
Anda tidak perlu risau tentang jenis data. Ia akan mengendalikannya.

cd sqthon

Atas ialah kandungan terperinci Sambung ke berbilang pangkalan data, buat atau jana pertanyaan SQL, analisis atau visualisasikan.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn