Obtenir le nom des tables d'une base de données SQlite3 avec python

Published: 10 mai 2015

DMCA.com Protection Status

Considérons le cas suivant: on dispose d'une base de données crée par exemple ici avec SQlite (voir Créer une base de données et une table avec sqlite3 de python) intitulée "MyDataBase.db" et on veut retrouver le nom des tables de la base de données. Pour cela, avec sqlite3 il suffit de lancer la commande suivante:

sqlite3 MyDataBase.db

puis de taper dans l'invite de commande sqlite:

.tables

exemple complet

toto$ sqlite3 MyDataBase.db 
SQLite version 3.7.13 2012-07-17 17:46:21
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .tables
Clients

ici la base de donnée ne contient qu'une seule table nommée: "Clients"

Script python

import sqlite3

con = sqlite3.connect('MyDataBase.db')
cursor = con.cursor()
cursor.execute("SELECT name FROM sqlite_master WHERE type='table';")
print(cursor.fetchall())

Recherches associées