Requête SQL

Intérêt

Pour communiquer avec une base de données, on utilise ce qu'on appelle des requêtes.

Ce sont des questions posées à la base qui attendent une réponse ou une modification de la base.

Le langage utilisé par MySQL est inspiré du langage SQL (Structured Query Langage).

DéfinitionAjouter un enregistrement

1
INSERT INTO nom_table (chp_x,chp_y,...) VALUES ('val_x','val_y',...)

DéfinitionSupprimer un ou des enregistrements

1
DELETE FROM nom_table WHERE clause (voir clause plus bas)

DéfinitionModifier un ou des enregistrements

1
UPDATE nom_table SET chp_x='val_x', chp_y='val_y',... WHERE clause

DéfinitionRechercher des champs d'un ou de plusieurs enregistrements

Tous les champs de tous les enregistrements :

1
SELECT * FROM nom_table

Les champs chp_x et chp_y de tous les enregistrements :

1
SELECT chp_x, chp_y FROM nom_table

Les champs chp_x et chp_y des enregistrements répondant à la clause :

1
SELECT chp_x, chp_y FROM nom_table WHERE clause

DéfinitionClause

Opérateur de comparaison : < , <=, =, >=, >

1
champ_x = 'valeur'

Opérateur logique : AND, OR, NOT, BETWEEN, IN, LIKE

1
champ_x = 'valeur_1' AND champ_y = 'valeur_2'
2
champ_x IN (valeur_1, valeur_2, ...)
3
champ_x BETWEEN valeur_1 AND valeur_2

Opérateur de comparaison de chaînes

1
champ_x LIKE '%mot_' ( champ_x finit par mot, plus un caractère quelconque )

DéfinitionJointure

Pour récupérer des informations qui se trouvent dans des tables différentes, il faut faire ce qu'on appelle une jointure.

Exemple :

Vous avez une note écrite par la personne 3 (table Notes)

La personne 3 est dupont pierre (table Profils)

Table - Jointure
1
SELECT profils.nom, profils.prenom, notes.message
2
FROM profils INNER JOIN notes
3
ON profils.id = notes.id_profils

DéfinitionOrdre

Pour trier on utilise ORDER

1
ORDER BY cle1 ASC,cle2 DESC

Trie selon la cle1 dans l'ordre croissant et en cas de doublon, trie sur la cle2 en ordre décroissant.

DéfinitionIntervalle

Permet de limiter le nombre de réponse.

1
LIMIT debut,nombre

LIMIT 10,5 signifie que l'on veut à partir du 10ième enregistrement les 5 suivants (10,11,12,13,14)

Attention

1
SELECT *
2
FROM table
3
WHERE clause
4
ORDER cle ASC
5
LIMIT debut, nombre

MéthodeRequête SQL et PHPMYADMIN

Pour exécuter une requête SQL :

  • Appuyez sur .

  • Tapez votre requête.

  • Appuyez sur exécuter.