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 :
<code class="sql">SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'Foods' AND table_schema = 'YourDB' AND column_name LIKE 'Vegetable%'</code>
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!