Requête SQL inter-bases de données pour récupérer les noms de tables
Créer des applications qui interagissent avec divers systèmes de bases de données nécessite une méthode cohérente pour récupérer les données. Cet article aborde le défi de la récupération des noms de table à partir d'une base de données spécifique à l'aide de SQL, garantissant ainsi la compatibilité entre différents types de serveurs. Bien que la vue INFORMATION_SCHEMA.TABLES
offre une approche apparemment universelle, les variations dans la gestion des schémas entre les bases de données nécessitent des ajustements.
L'approche naïve d'interrogation INFORMATION_SCHEMA.TABLES
pourrait renvoyer par inadvertance des tables de toutes les bases de données. Pour restreindre les résultats à une seule base de données, des modifications spécifiques à la base de données sont requises.
SQL Serveur :
<code class="language-sql">SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_CATALOG = 'dbName'</code>
Remplacez 'dbName'
par le nom réel de la base de données.
MySQL :
<code class="language-sql">SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_SCHEMA = 'dbName'</code>
Encore une fois, remplacez 'dbName'
par le nom de votre base de données cible.
Oracle :
L'approche d'Oracle diffère légèrement ; la vue DBA_TABLES
est généralement utilisée. La requête exacte peut varier en fonction des privilèges, mais une approche courante est la suivante :
<code class="language-sql">SELECT table_name FROM dba_tables WHERE owner = 'dbName'</code>
Ici, 'dbName'
représente le propriétaire de la base de données ou le nom du schéma. Notez que les privilèges appropriés sont nécessaires pour accéder à DBA_TABLES
.
En utilisant ces ajustements spécifiques à la base de données, vous pouvez créer des applications robustes capables de récupérer les noms de tables d'une base de données désignée, quel que soit le système de base de données sous-jacent. Cela garantit une fonctionnalité cohérente et simplifie l’interaction des bases de données dans divers environnements.
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!