Utilisation d'une Base de données MySQL
(Suite)



Critères de recherche dans une table :
 

Dans l'exemple précédent nous avons récupéré tous les champs de la table. La plupart du temps on ne voudra extraire que des enregistrements répondant à certains critères. Par exemple on peut ne vouloir faire apparaître que les résultats d'une seule personne.

En admettant que les enregistrements dans la table soient:

NOMPRENOMNOTE
DuboskFranck12
BigardJ.Marie18
SalomoneBruno9


  • 1er cas de recherche (Egal):


  • Listing de recherche avec critère :

    Sur la ligne $requete= "SELECT * FROM matable"; on a ajouté une condition de sélection avec WHERE ce qui donne $requete= "SELECT * FROM matable WHERE NOM=\"Bigard\"";. Comme dans notre table un seul enregistrement correspond à Bigard pour le nom, on obtient ceci en sortie:

    NOM: BIGARD PRENOM: J.Marie NOTE: 18


  • 2e cas de recherche (Entre...et...):


  • Modification du 1er listing de cette page :
    Qui peut s'écrire

    En modifiant la requête on va être en mesure cette fois de sortir des valeurs comprises entre 2 bornes. Ici grâce à BETWEEN...AND... on va lister les personnes ayant une note entre 8 et 14. Comme dans notre table 2 enregistrements correspondent à notre requête, on obtient ceci en sortie:

    NOM: DUBOSC PRENOM: Franck NOTE: 12
    NOM: Salomone PRENOM: Bruno NOTE: 9


  • 3e cas de recherche (floue):


  • Modification du 1er listing de cette page :

    Toujours en modifiant la requête on va pouvoir faire une recherche portant sur une partie d'une chaîne contenue dans un champs. Avec LIKE et en utilisant le caractère % ou le caractère _. Attention ces deux caractères on un comportement bien différent! Dans la requête ci-dessus on va obtenir toutes les personnes dont le nom débute par un B :

    NOM: BIGARD PRENOM: J.Marie NOTE: 18

    "%" va donc prendre la place d'un ou plusieurs caratères, "_" quant à lui ne va remplacer qu'un seul caractère.


  • 4e cas de recherche (Multicritères):


  • Modification du 1er listing de cette page :

    Cette fois on va compliquer un peu les choses en faisant une recherche selon différent critères. Ici nous allons extraitre toutes les personnes dont le nom commence par un D et dont la note est supérieure à 10. le résultat :

    NOM: DUBOSC PRENOM: Franck NOTE: 12

    Les différents opérateurs:

  • AND ou &&
  • l'une et l'autre des conditions doivent être respectées.
  • OR ou ||
  • l'une ou l'autre des conditions doit être respectée.
  • =
  • doit respecter la condition.
  • NOT
  • ne doit pas respecter la condition.
  • != ou <>
  • doit être différent.


    Critères de tri d'une table :
     

    On va mettre un peut d'ordre dans tout ça, avec ORDER BY il est possible de spécifier le nom du champ à partir duquel sera trié le résultat.

    Listing de recherche ordonée :

    Sans commentaire le résultat trié par nom:

    NOM: BIGARD PRENOM: J.Marie NOTE: 18
    NOM: DUBOSC PRENOM: Franck NOTE: 12
    NOM: Salomone PRENOM: Bruno NOTE: 9

    Celà nous donne un tri ascendant (A->Z) mais il est égalemnt possible d'effectuer un tri descendant (Z->A): Il suffit pour celà d'ajouter DESC après le nom du champ.


    Fixer une limit à la recherche :
     

    On dehors des critères de recherche il est possible de fixer une limite à la recherche.

    Listing limite de recherche :

    La clause LIMITva, comme son nom l'indique, limiter la recherche à un certain nombre de lignes. S'il n'y a q'une seule valeur celà signifie que la table sera traitée à partir de cette valeur. S'il y en a deux, séparées par une virgule, la table sera traitée entre les valeurs indiquées.


    Exemple de requêtes complexe :
     

    Pour finir on va voir qu'il est tout à fait envisageable de cumuler les contraintes de recherche et faire des requêtes plus ou moin complexes, en voici un exemple parmis toutes les possibilités dont vous aurez sans doute besoin.

    Listing exemple de requête complexe :

    A quoi peut servir cette requête? A rien ormis le fait de mettre en pratique tout ce que vous venez d'apprendre...


    << Retour