Connexion et création de tables
Ouvrir une base de données et définir son schéma
Connexion et création de tables est une leçon Python Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Python Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Python Academy comprend 4 leçons au total.
Qu'est-ce que sqlite3 ?
Python fournit le module sqlite3 dans sa bibliothèque standard. Il permet de travailler avec SQLite, une base de données SQL légère fondée sur des fichiers, qui ne nécessite aucun serveur distinct.
- Aucune installation requise
- Toute la base de données tient dans un seul fichier
- Idéal pour les prototypes, les vérifications et les petites applications
import sqlite3
print(sqlite3.version)Se connecter à une base de données
Utilisez sqlite3.connect() pour ouvrir une base de données. Si le fichier n'existe pas, SQLite le crée.
Transmettre ':memory:' crée une base de données temporaire en mémoire, qui disparaît lorsque la connexion est fermée.
import sqlite3
conn = sqlite3.connect(':memory:')
print('Connected:', conn)
conn.close()L'objet cursor
Pour exécuter du SQL, vous avez besoin d'un cursor. Appelez conn.cursor() pour en obtenir un, puis utilisez cursor.execute() pour envoyer des instructions SQL.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
print('Cursor ready:', cur)
conn.close()Créer une table
Définissez un schéma avec CREATE TABLE. Chaque colonne a besoin d'un nom et d'un type tel que INTEGER, TEXT ou REAL.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER, name TEXT, age INTEGER)')
print('Table created')
conn.close()Clés primaires
Une clé primaire identifie de manière unique chaque ligne. Déclarer INTEGER PRIMARY KEY permet à SQLite d'incrémenter automatiquement la valeur pour vous.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE books (id INTEGER PRIMARY KEY, title TEXT)')
print('books table ready')
conn.close()IF NOT EXISTS
Exécuter CREATE TABLE deux fois provoque une erreur. Ajoutez IF NOT EXISTS afin que l'instruction puisse être exécutée plusieurs fois sans risque.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
sql = 'CREATE TABLE IF NOT EXISTS notes (id INTEGER PRIMARY KEY, body TEXT)'
cur.execute(sql)
cur.execute(sql)
print('No error on second run')
conn.close()Contraintes de colonne
Les contraintes imposent les règles relatives aux données au niveau de la base de données.
NOT NULLexige une valeurUNIQUEinterdit les doublonsDEFAULTfournit une valeur de remplacement
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE accounts (id INTEGER PRIMARY KEY, email TEXT NOT NULL UNIQUE, active INTEGER DEFAULT 1)')
print('accounts table with constraints')
conn.close()Inspection du schéma
SQLite stocke les informations du schéma dans sqlite_master. Interrogez-le pour répertorier vos tables.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)')
cur.execute("SELECT name FROM sqlite_master WHERE type='table'")
print(cur.fetchall())
conn.close()Enregistrer dans un fichier
Pour conserver les données, transmettez un nom de fichier à connect(). La base de données subsiste après la fin de votre programme.
Vous devez appeler conn.commit() pour écrire les modifications sur le disque.
import sqlite3
conn = sqlite3.connect('app.db')
cur = conn.cursor()
cur.execute('CREATE TABLE IF NOT EXISTS items (id INTEGER PRIMARY KEY, name TEXT)')
conn.commit()
print('Saved to app.db')
conn.close()Supprimer une table
Supprimez une table avec DROP TABLE. Utilisez IF EXISTS pour éviter les erreurs lorsqu'elle a déjà été supprimée.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE temp (id INTEGER)')
cur.execute('DROP TABLE IF EXISTS temp')
print('Dropped temp table')
conn.close()Toujours fermer la connexion
Les connexions ouvertes occupent des descripteurs de fichiers. Fermez-les toujours avec conn.close() lorsque vous avez terminé, ou utilisez un bloc with pour effectuer automatiquement le nettoyage.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE t (id INTEGER)')
conn.close()
print('Connection closed cleanly')Vérification rapide
Vérifiez votre compréhension de la création de tables.
Récapitulatif
Vous avez appris les bases de sqlite3.
connect()ouvre (ou crée) un fichier de base de donnéescursor()vous fournit un objet pour exécuter du SQLCREATE TABLEdéfinit le schéma avec des types et des contraintescommit()enregistre les modifications durablement etclose()libère la connexion
Vous allez ensuite insérer et lire des lignes.
Questions Fréquemment Posées
La leçon « Connexion et création de tables » est-elle gratuite ?
Oui — le texte complet de « Connexion et création de tables » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Python Academy, passe à CoddyKit PRO. Le cours Python Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Connexion et création de tables » ?
Ouvrir une base de données et définir son schéma Tu pratiques Python Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Python Academy ?
Aucune expérience préalable n'est requise. Python Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Connexion et création de tables » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Python Academy ?
Oui. Chaque leçon Python Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Connexion et création de tables
- Insert, Select, Update, Delete
- Requêtes paramétrées
- Transactions et gestionnaires de contexte