SQLAlchemy Core - Connexion à la base de données

Dans le chapitre précédent, nous avons discuté du langage d'expression dans SQLAlchemy. Passons maintenant aux étapes de connexion à une base de données.

La classe de moteur connecte un Pool and Dialect together pour fournir une source de base de données connectivity and behavior. Un objet de la classe Engine est instancié à l'aide ducreate_engine() fonction.

La fonction create_engine () prend la base de données comme un argument. La base de données n'a pas besoin d'être définie nulle part. Le formulaire d'appel standard doit envoyer l'URL comme premier argument de position, généralement une chaîne qui indique le dialecte de la base de données et les arguments de connexion. En utilisant le code donné ci-dessous, nous pouvons créer une base de données.

>>> from sqlalchemy import create_engine
>>> engine = create_engine('sqlite:///college.db', echo = True)

Pour un MySQL database, utilisez la commande ci-dessous -

engine = create_engine("mysql://user:[email protected]/college",echo = True)

Pour mentionner spécifiquement DB-API à utiliser pour la connexion, le URL string prend la forme suivante -

dialect[+driver]://user:[email protected]/dbname

Par exemple, si vous utilisez PyMySQL driver with MySQL, utilisez la commande suivante -

mysql+pymysql://<username>:<password>@<host>/<dbname>

le echo flagest un raccourci pour configurer la journalisation SQLAlchemy, qui est effectuée via le module de journalisation standard de Python. Dans les chapitres suivants, nous apprendrons tous les SQL générés. Pour masquer la sortie détaillée, définissez l'attribut echo surNone. D'autres arguments de la fonction create_engine () peuvent être spécifiques au dialecte.

La fonction create_engine () renvoie un Engine object. Certaines méthodes importantes de la classe Engine sont -

Sr.No. Méthode et description
1

connect()

Renvoie l'objet de connexion

2

execute()

Exécute une construction d'instruction SQL

3

begin()

Renvoie un gestionnaire de contexte délivrant une connexion avec une transaction établie. Une fois l'opération réussie, la transaction est validée, sinon elle est annulée

4

dispose()

Supprime le pool de connexions utilisé par le moteur

5

driver()

Nom du pilote du dialecte utilisé par le moteur

6

table_names()

Renvoie une liste de tous les noms de table disponibles dans la base de données

sept

transaction()

Exécute la fonction donnée dans une limite de transaction