Maison >développement back-end >Tutoriel Python >Connectez-vous à plusieurs bases de données, effectuez ou générez des requêtes SQL, analysez ou visualisez.

Connectez-vous à plusieurs bases de données, effectuez ou générez des requêtes SQL, analysez ou visualisez.

Barbara Streisand
Barbara Streisandoriginal
2024-12-12 17:07:10197parcourir

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

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

SQTHON

Connectez-vous à plusieurs bases de données, exécutez des requêtes SQL brutes, effectuez des analyses et effectuez une visualisation.

Je travaille actuellement sur :

  • SqthonAI : générez des requêtes SQL à l'aide d'un LLM de votre choix ?
  • Améliorations de la sécurité?
  • Nouvelles fonctionnalités
  • exception personnalisée pour une meilleure présentation des erreurs ?

Le package n'est pas encore publié sur pypi et est créé en utilisant de la poésie. ?

Actuellement, ce package ne fonctionnera que sous Windows.

Et pour votre sécurité, créez un environnement virtuel.

Installation ?

1. Clonez le référentiel.

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

2. Installez la poésie (si elle n'est pas installée)

Utiliser Windows PowerShell

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

Utilisation de Linux, macOS, Windows (WSL)

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

Utiliser pipx

pipx install poetry

3. Installez les dépendances en utilisant la poésie

poetry install

Installation alternative ?

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

Maintenant, comment l'utiliser ?

1. Créez un fichier .env à la racine de votre projet. [une étape incontournable]

  • définissez les mots de passe de la base de données comme ceci : password

2. Connectons-nous à une base de données.

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

Si votre serveur MySQL n'est pas en cours d'exécution, fournir service_instance_name démarrera automatiquement le serveur.
Si vous n'exécutez pas le script en tant qu'administrateur, il vous demandera le privilège d'administrateur pour démarrer le serveur.

3. Requêtes.

Supposons que vous ayez une base de données nommée factice ?

Connectez-vous à la base de données.

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

Maintenant, comment puis-je exécuter certaines requêtes ?

# 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 ont plusieurs paramètres autres que query, ils sont : visualize: bool = False,
plot_type : str = Aucun,
x=Aucun,
y=Aucun,
titre=Aucun.
Si vous créez visualize=True et fournissez les arguments x, y et plot_type, il renverra un graphique avec
les données que je ne pense pas bonnes pour une utilisation ultérieure de la variable.

4. Visualisation.

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

5. Importation CSV dans une table.

J'ai isolé cette fonctionnalité pour plusieurs raisons de sécurité. Ce que je veux dire, c'est qu'il utilise un
séparé moteur pour importer le csv dans une table dont vous n'avez pas à vous soucier ?

Il existe dans le util.py en tant que méthode distincte dépourvue de vie des autres.
Actuellement, il prend en charge mysql uniquement.

Nom de la méthode : import_csv_to_mysqltable

Paramètres qu'il contient :

  • utilisateur : str
  • hôte : str
  • base de données : str
  • csv_path : str
  • service_instance : str = Aucun
  • tableau : str

utilisateur : nom d'utilisateur,
hôte : hôte,
base de données : nom de la base de données,
csv_path : chemin relatif ou absolu vers le fichier csv.

table : nom de la table, si elle n'existe pas alors il créera la table selon le fichier csv.
Vous n'avez pas à vous soucier des types de données. Il s'en chargera.

cd sqthon

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn