Maison  >  Article  >  base de données  >  Comment puis-je sélectionner des données dans des colonnes avec des préfixes similaires dans une base de données SQL ?

Comment puis-je sélectionner des données dans des colonnes avec des préfixes similaires dans une base de données SQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-03 12:16:29762parcourir

How Can I Select Data from Columns with Similar Prefixes in a SQL Database?

Extraire des données de colonnes avec des préfixes similaires

Comme les utilisateurs de bases de données rencontrent souvent des tables avec de nombreuses colonnes partageant des conventions de dénomination similaires, extraire des données spécifiques en fonction de ces préfixes peuvent être difficiles. Prenons un tableau avec des colonnes telles que "Vegetable_Name", "Fruit_Name" et "Meat_Name".

En tentant de sélectionner toutes les informations liées à un groupe alimentaire spécifique, un utilisateur a essayé :

<code class="sql">$Food = "Vegetable";
mysql_query("SELECT `" . $Food . "%` FROM `Foods`");</code>

Cependant, cette requête s'est avérée inefficace. Pour résoudre ce problème, il est nécessaire de construire dynamiquement la requête SQL en fonction du préfixe souhaité.

Génération de requêtes SQL dynamiques

Pour récupérer les colonnes souhaitées, suivez ces étapes :

  1. Extraire les noms de colonnes : exécutez l'instruction SQL suivante pour récupérer les noms de toutes les colonnes commençant par le préfixe spécifié :
<code class="sql">SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'Foods'
    AND table_schema = 'YourDB'
    AND column_name LIKE 'Vegetable%'</code>
  1. Construire Chaîne de requête : sur la base des noms de colonnes récupérés, construisez la requête SELECT de manière dynamique, en utilisant la liste de noms de table et de colonnes appropriée.

Exemple :

Supposons les noms de colonnes récupérés sont « Vegetable_Name » et « Vegetable_Type ». La requête suivante sélectionnerait les données de ces colonnes :

<code class="sql">SELECT Vegetable_Name, Vegetable_Type
FROM Foods</code>

Cette approche permet une récupération de données efficace et ciblée, même pour les tables comportant plusieurs colonnes partageant des préfixes similaires.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn