Aller au contenu principal
ShadowAcademy

Les langages SQL Construire sa base, et s'y brancher

Créer une table

CREATE TABLE operations (
    id        INTEGER PRIMARY KEY,
    client_id INTEGER NOT NULL REFERENCES clients(id),
    libelle   TEXT    NOT NULL,
    montant   INTEGER NOT NULL DEFAULT 0
);

Une colonne par ligne : un nom, un type, des contraintes facultatives.

Type Pour quoi
INTEGER nombres entiers : identifiants, quantités, montants en centimes
REAL nombres à virgule
TEXT texte : noms, adresses, dates
BLOB données brutes

SQLite est souple sur les types ; MySQL, PostgreSQL ou SQL Server le sont beaucoup moins (VARCHAR(50), INT, DATETIME...). Le principe reste : le type le plus étroit qui suffit.

  • PRIMARY KEY : identifie la ligne. INTEGER PRIMARY KEY se remplit seul.
  • NOT NULL : la colonne ne peut pas rester vide.
  • DEFAULT 0 : valeur prise quand l'insertion ne dit rien.
  • UNIQUE : deux lignes ne peuvent pas partager la même valeur (une adresse e-mail, par exemple).
  • REFERENCES clients(id) : la clé étrangère.

Une contrainte est une règle que la base fera respecter même le jour où un programme bogué essaiera de la violer.

1 exercice pour cette lecon

Les exercices demandent un compte : il faut bien enregistrer votre progression quelque part. La lecture, elle, reste libre. Creer un compte

  • La table des opérations moyen lecon a valider