Modifier une base de données

15 minutes de SQL

Créer une table avec PRIMARY KEY et FOREIGN KEY

Thème : Modifier une base de données

Niveau : ECG2

Année : Maths appliquées

Objectif : Savoir écrire un CREATE TABLE simple avec des types (INTEGER, TEXT), une clé primaire, et une clé étrangère.

Créer une table

La commande au programme est :

CREATE TABLE nom (...);

On précise chaque colonne avec son type, puis on ajoute les contraintes (PRIMARY KEY, FOREIGN KEY).

Types au programme

  • INTEGER : entier
  • TEXT : texte

Exemples commentés

Exemple 1

On crée une table auteurs avec une clé primaire, on insère deux lignes, puis on affiche le contenu.

DROP TABLE IF EXISTS auteurs;
CREATE TABLE auteurs (
  id_auteur INTEGER PRIMARY KEY,
  nom TEXT
);
INSERT INTO auteurs(id_auteur, nom) VALUES (1, 'Durand');
INSERT INTO auteurs(id_auteur, nom) VALUES (2, 'Martin');
SELECT * FROM auteurs ORDER BY id_auteur;
Exemple 2

On crée deux tables liées par une clé étrangère : etudiants et notes. On insère une note, puis on affiche.

DROP TABLE IF EXISTS notes;
DROP TABLE IF EXISTS etudiants;
CREATE TABLE etudiants (
  id_etudiant INTEGER PRIMARY KEY,
  nom TEXT,
  prenom TEXT
);
CREATE TABLE notes (
  id_etudiant INTEGER,
  matiere TEXT,
  note INTEGER,
  FOREIGN KEY (id_etudiant) REFERENCES etudiants(id_etudiant)
);
INSERT INTO etudiants(id_etudiant, nom, prenom) VALUES (1, 'Dupont', 'Alice');
INSERT INTO notes(id_etudiant, matiere, note) VALUES (1, 'SQL', 14);
SELECT * FROM notes;
Exemple 3

On crée une table comptes et on teste l’insertion d’une ligne.

DROP TABLE IF EXISTS comptes;
CREATE TABLE comptes (
  id_compte INTEGER PRIMARY KEY,
  titulaire TEXT,
  solde INTEGER
);
INSERT INTO comptes(id_compte, titulaire, solde) VALUES (1, 'Martin', 2500);
SELECT * FROM comptes;

Accès restreint. Les exercices interactifs et le feedback IA sont réservés aux membres.

Et pour quelques minutes de plus…

Niveau 1 Lire et interpréter

Niveau 2 Compléter une requête

Niveau 3 Écrire une requête

error: Ce contenu est protégé !