100% ont trouvé ce document utile (1 vote)
106 vues18 pages

SQL en Python : Accès et Méthodes

Transféré par

D.j'oVEVO
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (1 vote)
106 vues18 pages

SQL en Python : Accès et Méthodes

Transféré par

D.j'oVEVO
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 18

Executive Master Statistique et Big Data

ACCÉDER À UNE BASES DE DONNÉES


SQL EN PYTHON
Maude Manouvrier

Moodle Exec Master Statistique et Big Data_P5_20-21_Accueil


Module 2 - Bases de données sous SQL - M. MANOUVRIER
Accéder à une base de données en Python

Nécessité d’utiliser une interface standard pour les modules d’accès à une base
de données ou Database Application Programming Interface (DB-API) de Python

©Maude Manouvrier - Univ. Paris Dauphine – figure reprise de [Link] 2


Méthodes de DB-API Python

SGBD

©Maude Manouvrier - Univ. Paris Dauphine – figures reprises de [Link] 3


Méthodes de DB-API Python
▪ [Link](...): pour se connecter au SGBD et à la base de données –
la méthode renvoie un descripteur de connexion ou génère une exception
▪ [Link](): pour créer un curseur pour exécuter une requête SQL
et le cas échéant afficher le résultat
▪ [Link](): pour valider l’exécution d’une transaction (INSERT,
UPDATE, DELETE)
▪ [Link](): pour annuler une transaction (en cas d’exception
par exemple)
▪ [Link](): pour fermer la connexion
▪ [Link](statement): pour exécuter une requête
▪ [Link]() [Link]():pour récupérer les nuplets
résultats d’une requête SELECT

©Maude Manouvrier - Univ. Paris Dauphine – figures reprises de [Link] 4


DB-API Python / SGBD
▪ sqlite3 pour SQLite,
▪ psycopg2 pour PostgreSQL
▪ mysql-python pour MySQL …

Pour installer le module :


>>> pip install psycopg2

©Maude Manouvrier - Univ. Paris Dauphine – figure reprise de [Link] 5


Exemple de programme Python utilisant PostgreSQL

fetchall()renvoie une liste de tuples :

©Maude Manouvrier - Univ. Paris Dauphine – Adapté de [Link] 6


Exemple de programme Python utilisant PostgreSQL
Une fonction pour récupérer les informations de connexion dans un fichier :

Contenu du fichier [Link] :

©Maude Manouvrier - Univ. Paris Dauphine – Adapté [Link] 7


Exemple de programme Python utilisant PostgreSQL
Programme utilisant la fonction config() :

©Maude Manouvrier - Univ. Paris Dauphine – Adapté [Link] 8


Exemple de programme Python utilisant PostgreSQL
Exemple d’utilisation de fetchone() qui renvoie un tuple :

©Maude Manouvrier - Univ. Paris Dauphine – Adapté [Link] 9


Attention aux requêtes de mise à jour
Sans utiliser commit() :
Mise à jour OK en mémoire :

Mais aucune modification sur le disque :

©Maude Manouvrier - Univ. Paris Dauphine – Adapté [Link] 10


Attention aux requêtes de mise à jour
En utilisant commit() :
Mise à jour OK en mémoire :

Répercussion de la mise à jour sur le disque :

©Maude Manouvrier - Univ. Paris Dauphine – Adapté [Link] 11


En utilisant SQLAlchemy

SQLAlchemy = un outils de
correspondance objet-relationnel ou
ORM (Object Relational Mapper)

Cf. [Link]

Un ORM :
▪ permet à un programme de
dialoguer avec un SGBD sans
émettre d’ordres SQL
▪ masque au programme les
particularités de chaque SGBD

Pour installer le module :


>>> pip install SQLAlchemy

©Maude Manouvrier - Univ. Paris Dauphine – figure reprise de [Link] 12


En utilisant SQLAlchemy
Possibilité d’utiliser SQLAlchemy pour faire du SQL standard :

©Maude Manouvrier - Univ. Paris Dauphine 13


En utilisant pandas
Possibilité d’utiliser psycopg2 et pandas pour faire du SQL standard :

©Maude Manouvrier - Univ. Paris Dauphine 14


En utilisant pandas
Possibilité d’utiliser SQLAlchemy et pandas pour faire du SQL standard :

©Maude Manouvrier - Univ. Paris Dauphine 15


En utilisant pandas

©Maude Manouvrier - Univ. Paris Dauphine 16


Liens
▪ Pour le DB-API MySQL :
• [Link]
connecter-a-une-base-de-donnees-198984543081596
• [Link]
• [Link]
▪ Pour le DB-API PostgresSQL :
• [Link]
• [Link]
postgresql-database-like-a-data-scientist-b5a9c5a0ea43
▪ Pour le DB-API SQLite :
• [Link]

©Maude Manouvrier - Univ. Paris Dauphine – figures reprises de [Link] 17


Liens
▪ Pour SQLAlchemy:
• [Link]
• [Link]
• [Link]
• [Link]
de-l-orm-sqlalchemy
▪ Pour Pandas :
• [Link]
html
• [Link]
• [Link]
• [Link]
©Maude Manouvrier - Univ. Paris Dauphine – figures reprises de [Link] 18

Vous aimerez peut-être aussi