Python et bases de données
Khalid HOUSNI
Une base de données c'est quoi?
Une base de données (database en anglais) est un conteneur dans
lequel il est possible de stocker des données de façon structurée
Un langage standardisé -SQL- est dédié à cette structure et permet
aussi bien de faire des recherches mais aussi des modifications ou
des suppressions.
Les logiciels de gestion de bases de données les plus utilisées
aujourd'hui sont des SGBDR -Système de gestion de base de données
relationnelles-, c'est à dire que les données sont liées les unes aux
autres, par exemple on peut définir que si on supprime une
information, d'autres informations dépendantes de cette dernière
soient elles-aussi automatiquement supprimées. Cela garantit une
cohérence de données.
Il ne faut donc pas confondre une base de données qui est un
conteneur et le SGBDR qui est un logiciel de gestion de bases de
données.
SQLite
Utiliser le module SQLite
Pour importer le module SQLite: import sqlite3
Créer une base de données avec SQLite
Le paquet sqlite3 contient la méthode sqlite3.connect qui offre tous
les services de connections une base de données Sqlite
conn = sqlite3.connect('ma_base.db')
Lorsque vous exécuterez votre programme vous remarquerez que si la
base n'existe pas encore, un fichier sera crée dans le dossier de votre
programme. Et si celui-ci existe déjà il sera réutilisé.
Il est également possible de travailler avec une base de données de
manière temporaire: conn = sqlite3.connect(':memory:')
Pour fermer la connexion à la base de données on utilise : conn.close()
Créer une table avec SQLite
cursor = conn.cursor()
cursor.execute("""
CREATE TABLE IF NOT EXISTS users(
id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE,
name TEXT,
age INTERGER
)
""")
conn.commit()
TEXT : enregistre la donnée comme une chaine de caractères, sans limite de taille. Si un
nombre est entré dans une colonne de ce type, il sera automatiquement converti en une
chaine de caractères ;
NUMERIC : tente d'enregistrer la donnée comme un entier ou comme un réel, mais si cela
s'avère impossible, la donnée sera enregistrée comme une chaine de caractères ;
INTEGER : enregistre la donnée comme un entier si celle-ci peut être encodée sans perte,
mais peut utiliser les types REAL ou TEXT si ça ne peut être fait ;
REAL : enregistre la donnée comme un réel, même s'il s'agit d'un entier. Si la valeur est trop
grande, la donnée sera convertie en chaine de caractères ;
NONE : la donnée est enregistrée telle quelle, sans conversion.
Supprimer une table avec SQLite:
cursor = conn.cursor()
cursor.execute("""
DROP TABLE users
""")
conn.commit()
Insérer des données
cursor.execute("""
INSERT INTO users(name, age) VALUES(?, ?)
""", (“Housni", 36))
Vous pouvez passer par un dictionnaire:
data = {"name" : “Housni", "age" : 36}
cursor.execute(""" INSERT INTO users(name, age)
VALUES(:name, :age)""", data)
1 / 20 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !