Récupérer toutes les colonnes sauf une de la table MySQL
De nombreuses situations surviennent où la récupération de colonnes spécifiques d'une table est nécessaire. MySQL offre une flexibilité dans la récupération de données grâce à sa puissante instruction SELECT. Cependant, il peut y avoir des scénarios dans lesquels vous avez besoin de toutes les colonnes à l'exclusion d'une colonne en particulier. Au lieu de spécifier manuellement les colonnes souhaitées, une approche plus efficace peut être adoptée.
Vous pouvez tirer parti de la combinaison de SQL dynamique et d'une instruction préparée pour générer dynamiquement une requête SELECT qui exclut la colonne spécifiée. Voici comment :
Construire une chaîne SQL dynamique :
SET @sql = CONCAT('SELECT ', (SELECT REPLACE(GROUP_CONCAT(COLUMN_NAME), '<columns_to_omit>,', '') FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '<table>' AND TABLE_SCHEMA = '<database>'), ' FROM <table>');
Préparer le déclaration :
PREPARE stmt1 FROM @sql;
Exécuter le préparé déclaration :
EXECUTE stmt1;
Remplacements :