Maison >base de données >tutoriel mysql >Comment sélectionner toutes les colonnes sauf une dans MySQL ?
Récupération de toutes les colonnes sauf une d'une table MySQL
Question :
Dans un MySQL base de données, comment pouvez-vous récupérer toutes les colonnes sauf une spécifique dans un domaine particulier table?
Réponse :
Bien que cela puisse sembler une tâche simple, MySQL ne fournit pas de méthode intégrée pour exclure des colonnes spécifiques dans une instruction SELECT. Cependant, en utilisant une combinaison de SQL dynamique et de procédures stockées, il est possible d'obtenir cette fonctionnalité.
Solution :
Suivez ces étapes pour récupérer toutes les colonnes sauf une dans une table MySQL :
DELIMITER // CREATE PROCEDURE get_all_columns_except( IN table_name VARCHAR(255), IN database_name VARCHAR(255), IN excluded_column VARCHAR(255) ) BEGIN -- Dynamically build the SELECT statement SET @sql = CONCAT('SELECT ', (SELECT REPLACE(GROUP_CONCAT(COLUMN_NAME), excluded_column, '') FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = table_name AND TABLE_SCHEMA = database_name), ' FROM ', table_name); -- Prepare the statement for execution PREPARE stmt1 FROM @sql; -- Execute the statement EXECUTE stmt1; END // DELIMITER ;
Une fois la procédure stockée créée, vous pouvez appeler avec la commande suivante :
CALL get_all_columns_except('table_name', 'database_name', 'excluded_column_name');
Remplacez « table_name », « database_name » et « exclu_column_name » par les valeurs réelles.
Exemple :
Pour récupérer toutes les colonnes sauf la colonne "nom" de la table "employés" du base de données "company_db", vous appelleriez la procédure stockée comme suit :
CALL get_all_columns_except('employees', 'company_db', 'last_name');
Cette approche vous permet de sélectionner toutes les colonnes d'une table, en omettant automatiquement une colonne spécifiée, même si la table contient un grand nombre de colonnes.
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!