Comment récupérer des données à partir des lignes spécifiques dans les bases de données mysql

Souvent, vous ne voulez pas de récupérer toutes les informations à partir d'une table MySQL. Vous souhaitez des renseignements que de lignes sélectionnées. Trois mots SQL sont fréquemment utilisés pour spécifier la source de l'information:

Sommaire

  • : Vous permet de demander des informations à partir d'objets de base de données avec certaines caractéristiques. Par exemple, vous pouvez demander les noms des clients qui vivent en Californie, ou vous pouvez lister seulement les produits qui sont d'une certaine catégorie de vêtements.

  • LIMITE: Vous permet de limiter le nombre de lignes à partir de laquelle l'information est récupérée. Par exemple, vous pouvez demander l'information à partir de seulement les trois premières lignes de la table.

  • DISTINCT: Vous permet de demander des informations à partir de seulement une rangée de lignes identiques. Par exemple, dans un S'identifier table, vous pouvez demander identifiant mais spécifiez pas de noms en double, limitant ainsi la réponse à un enregistrement pour chaque membre. Ce serait répondre à la question, “ Le client a jamais connecté ”?; plutôt que de la question “ combien de fois le client connecté ”?;

Utilisez une clause WHERE

La la clause de la SELECT requête vous permet de faire des sélections complexes. Par exemple, supposons que votre patron veut connaître tous les clients dont les noms commencent par B, qui vivent à Indianapolis, et qui ont un 8 soit leur numéro de téléphone ou de fax. Vous pouvez obtenir cette liste pour votre patron dans un SELECT interroger avec un clause.

Le format de base de la clause est

OÙ ET expression | expression OR ET | OU expression ...



expression spécifie une valeur à comparer avec les valeurs stockées dans la base de données. Seules les lignes contenant un match pour l'expression sont sélectionnés. Vous pouvez utiliser autant d'expressions que nécessaire, chacun séparés par ET ou OU.

Lorsque vous utilisez ET, les deux expressions reliés par la ET (autrement dit, l'expression à la fois avant le ET et l'expression après le ET) Doivent être remplies pour que la ligne à être sélectionné. Lorsque vous utilisez OU, seulement l'une des expressions reliés par la OU doit être vrai pour la ligne à sélectionner.

Expressions pour la clause WHERE
ExpressionExempleRésultat
colonne = valeurzip = “ 12345 ”Sélectionne uniquement les lignes où 12345 est stocké dans la colonne namedzip
colonne> valeurzip> “ 50000 ”Sélectionne uniquement les lignes où le code postal est 50001 orhigher
colonne> = valeurzip> = “ 50000 ”Sélectionne uniquement les lignes où le code postal est 50000 orhigher
colonne lt; valeurfermeture éclair lt; “ 50000 ”Sélectionne uniquement les lignes où le code postal est 49999 ou moins
colonne lt; = valeurfermeture éclair lt; = “ 50000 ”Sélectionne uniquement les lignes où le code postal est 50000 ou moins
colonne entre value1 et value2zip ENTRE “ 20000 ” ET “ 30000 ”Sélectionne uniquement les lignes où le code postal est supérieure à 19999but moins 30001
colonne (valeur1, valeur2, # 133-)Zip (“ 90001 ”, n ° 148; 30044 ”)Sélectionne uniquement les lignes où le code postal est 90001 ou 30044
colonne NOT IN (valeur1, valeur2, # 133-)zip NOT IN (“ 90001 ”, n ° 148; 30044 ”)Sélectionne uniquement les lignes où le code postal est un code postal ou except90001 30044
colonne LIKE
Note: La valeur peut contenir les caractères génériques% (ce qui correspond à toute chaîne) et _ (qui correspond à tout caractère).
COMME postal “ 9% ”Sélectionne toutes les lignes où le code postal commence par 9
colonne NOT LIKE valeur
Note: La valeur peut contenir les caractères génériques% (ce qui correspond à toute chaîne) et _ (qui correspond à tout caractère).
zip NOT LIKE “ 9% ”Sélectionne toutes les lignes où le code postal ne commence pas with9

Vous pouvez combiner les expressions avec ETs et OUs. Dans certains cas, vous devez utiliser des parenthèses pour clarifier les critères de sélection. Par exemple, vous pouvez utiliser la requête suivante pour répondre à un besoin urgent de votre patron pour trouver tous les clients dont le nom commence par B, qui vivent à Indianapolis, et qui ont un 8 soit dans leur téléphone ou de fax:

SELECT nom, prénom DE CustomerWHERE nomFamille LIKE "B%" et la ville = "Indianapolis" ET (téléphone comme "% 8%" ou par télécopie LIKE "% 8%")

Notez les parenthèses dans la dernière ligne. Vous ne seriez pas obtenir les résultats que vous avez demandé sans les parenthèses.

Sans les parenthèses, chaque connecteur serait traitée dans l'ordre de la première à la dernière, résultant en une liste qui comprend tous les clients dont le nom commence par B et qui vivent à Indianapolis et dont les numéros de téléphone avoir un 8 en eux et tous les clients dont les numéros de fax ont un 8 en eux, si oui ou non ils vivent à Indianapolis et si oui ou non leur nom commence par un B.

Lorsque le dernier OU est traitée, les clients sont choisis dont les caractéristiques correspondent à l'expression avant la OU ou l'expression après le OU. L'expression avant la OU est reliée à expressions précédentes par le précédent ETs, et donc il ne suis pas le seul, mais l'expression après la OU ne autonome, résultant dans la sélection de tous les clients avec un 8 dans leur numéro de télécopieur.

Utilisez le mot-clé LIMIT

LIMITE spécifie le nombre de lignes peuvent être retournés. Le formulaire de LIMITE est

LIMITE Numéro de départ, numberOfRows

La première ligne que vous souhaitez récupérer est Numéro de départ, et le nombre de lignes à récupérer est numberOfRows. Si Numéro de départ est pas spécifié, 1 est supposé. Pour sélectionner uniquement les trois premiers clients qui vivent au Texas, utilisez cette requête:

SELECT * FROM clients WHERE état = "TX" LIMIT 3

Utilisez le mot-clé DISTINCT

Lignes de la table peuvent avoir des valeurs identiques dans une ou plusieurs colonnes. Toutefois, dans certains cas, lorsque vous SELECT une colonne, vous ne voulez pas extraire plusieurs lignes avec des valeurs identiques. Vous voulez récupérer la valeur qu'une seule fois. Par exemple, supposons que vous avez une table de produits avec un champ appelé Catégorie.

Les données contient sans aucun doute de nombreux produits dans chaque catégorie. Maintenant, supposons que vous souhaitez afficher une liste de toutes les catégories disponibles dans la base de données. Vous voulez cette liste pour contenir chaque catégorie énumérée qu'une seule fois. Le mot-clé DISTINCT il est prévu à cet effet.

Pour éviter un SELECT interroger de retourner tous les enregistrements identiques, ajouter le mot clé DISTINCT juste après SELECT, comme suit:

SELECT catégorie distincte des produits

» » » Comment récupérer des données à partir des lignes spécifiques dans les bases de données mysql