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éfinition : Ajouter un enregistrement
INSERT INTO nom_table (chp_x,chp_y,...) VALUES ('val_x','val_y',...)
Définition : Supprimer un ou des enregistrements
DELETE FROM nom_table WHERE clause (voir clause plus bas)
Définition : Modifier un ou des enregistrements
UPDATE nom_table SET chp_x='val_x', chp_y='val_y',... WHERE clause
Définition : Rechercher des champs d'un ou de plusieurs enregistrements
Tous les champs de tous les enregistrements :
SELECT * FROM nom_table
Les champs chp_x et chp_y de tous les enregistrements :
SELECT chp_x, chp_y FROM nom_table
Les champs chp_x et chp_y des enregistrements répondant à la clause :
SELECT chp_x, chp_y FROM nom_table WHERE clause
Définition : Clause
Opérateur de comparaison : < , <=, =, >=, >
champ_x = 'valeur'
Opérateur logique : AND, OR, NOT, BETWEEN, IN, LIKE
champ_x = 'valeur_1' AND champ_y = 'valeur_2'
champ_x IN (valeur_1, valeur_2, ...)
champ_x BETWEEN valeur_1 AND valeur_2
Opérateur de comparaison de chaînes
champ_x LIKE '%mot_' ( champ_x finit par mot, plus un caractère quelconque )
Définition : Jointure
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)
SELECT profils.nom, profils.prenom, notes.message
FROM profils INNER JOIN notes
ON profils.id = notes.id_profils
Définition : Ordre
Pour trier on utilise ORDER
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éfinition : Intervalle
Permet de limiter le nombre de réponse.
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 :
SELECT *
FROM table
WHERE clause
ORDER cle ASC
LIMIT debut, nombre
Méthode : Requête SQL et PHPMYADMIN
Pour exécuter une requête SQL :
Appuyez sur .
Tapez votre requête.
Appuyez sur exécuter.