Aller au contenu

L'essentiel SQL

Requêtes de base

SELECT colonne1 [AS alias1], colonne2 [AS alias2]
FROM table1 [AS t1], table2 [AS t2]
WHERE [critères de jointure et sélection]
GROUP BY colonnei
ORDER BY colonnej [DESC];

Jointure

SELECT colonne1 [AS c1], colonne2 [AS c2]
FROM table1 
JOIN table2 ON table1.clé = table2.clé
AND table1.champs="Choucroute";

Insertion

INSERT INTO table 
VALUES 
(valeur11, valeur12, sur toutes les colonnes...),
(valeur21,valeur22, sur toutes les colonnes...),
...;

Modifier des cellules

UPDATE table 
SET col1 = val1
WHERE [sélection];

Supprimer des lignes

DELETE FROM table1 
WHERE [sélection];

Listes

ani IN ('abeille', 'zèbre', 'poisson zèbre', 'tigre', 'breton')
Dept BETWEEN 03 AND 06;

Filtres

nom LIKE 'CA%' 'chaine de caractères qui commence par CA'
nom LIKE 'CA_' 'qui commence par CA suivi par un seul caractère'
nom LIKE '%E' 'qui se termine par un E'
nom LIKE '%RA%' 'qui contient le groupe de caractères RA'

Fonctions d'agrégations

AVG
MIN 
MAX
COUNT
SUM
Pour faire une sélection alors qu'il y a une fonction d'agrégation dans la requête, on utilise une clause 'HAVING'.

Propriétés ACID

Atomicité, Cohérence, Isolation, Durabilité: ce sont les propriétés qui garantissent qu'une transaction informatique est exécutée de façon fiable.

  • Atomicité : cette propriété assure qu'une transaction se fait au complet ou pas du tout.

  • Cohérence : cette propriété assure que chaque transaction amènera le système d'un état valide à un autre état valide. En particulier les contraintes d'intégrité doivent être vérifiées (respect du type, clé étrangère existe en tant que clé primaire dans une autre table).

  • Isolation : les transactions s’exécutent comme si elles étaient seules sur le système. Si par exemple une transaction complexe T1 s'exécute en même temps qu'un autre transaction complexe T2, alors T1 ne peut pas accéder à un état intermédiaire de T2. T1 et T2 doivent produire le même résultat qu'elles soient exécutées simultanément ou successivement.

  • Durabilité : les transactions sont « gravées dans le marbre ». Une fois qu'une transaction a eu lieu, la base de données reste dans l'état modifié, même suite à une panne d'électricité. Remarque du professeur : jusqu’à présent, la durabilité maximale des supports de sauvegarde en informatique est de 10 ans (contre 400 sans trop de difficultés pour le papier, ne parlons pas du « marbre gravé »). Ce critère de durabilité est donc à l’échelle de l’utilisation des bases de données, et non dans un temps historique.