← Tous les exercices
Renommer une table
Partie 4 · ★★
ALTER TABLE relation RENAME nouveau_nom renomme la table (et, dans MySQL, le fichier qui la stocke). Les données restent en place.
Renomme Personnes en Carnet. (Hors cours : SQLite exige le mot TO après RENAME.) La liste des tables est dans tables.
import sqlite3 con = sqlite3.connect(":memory:") con.executescript(""" CREATE TABLE Personnes (id INTEGER PRIMARY KEY, nom TEXT, prenom TEXT, adresse TEXT, telephone TEXT); INSERT INTO Personnes VALUES (1, 'Martin', 'Marc', '12 rue Lafayette, Paris', '0102030405'), (2, 'Dupond', 'Anne', '3 place Bellecour, Lyon', '0607080910'), (3, 'Martin', 'Pierre', '8 avenue de Paris, Lille', '0611223344'), (4, 'Chirac', 'Jacques', '1 rue du Port, Marseille', NULL); CREATE TABLE Bibliotheque (nom TEXT, dernierlivre TEXT); INSERT INTO Bibliotheque VALUES ('Dupond', 'Germinal'), ('Martin', 'Candide'), ('Chirac', 'Candide'); """) con.execute("ALTER TABLE Personnes RENAME ___ Carnet") tables = [r[0] for r in con.execute("SELECT name FROM sqlite_master WHERE type = 'table'")] nb = con.execute("SELECT COUNT(*) FROM Carnet").fetchone()[0] if 'Carnet' in tables else -1
Ctrl/⌘+Entrée