Requêtes SQL pour récupérer les noms de tables d'une base de données spécifique
Souvent, les administrateurs de bases de données et les développeurs d'applications doivent récupérer une liste de noms de tables dans une base de données particulière. L'approche varie légèrement en fonction du système de base de données (par exemple, MySQL, SQL Server, Oracle). Une requête unique et universellement compatible n'est pas possible en raison des différences dans les structures de schéma de base de données.
Le défi : Les requêtes INFORMATION_SCHEMA
standard renvoient souvent des tables de toutes bases de données sur le serveur, pas seulement celle souhaitée.
La solution : Nous devons ajouter un filtre spécifique à la base de données à la requête.
Requêtes spécifiques à la base de données :
<code class="language-sql">SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_CATALOG = 'dbName'</code>
<code class="language-sql">SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_SCHEMA = 'dbName'</code>
Remplacez "dbName"
par le nom réel de votre base de données cible.
Pour Oracle, l'approche INFORMATION_SCHEMA
diffère. Pour récupérer les tables du schéma de l'utilisateur actuel :
<code class="language-sql">SELECT TABLE_NAME FROM USER_TABLES</code>
Pour spécifier un schéma différent (nécessite les privilèges appropriés) :
<code class="language-sql">SELECT TABLE_NAME FROM DBA_TABLES WHERE OWNER = '<schema_name>'</code>
Remplacez <schema_name>
par le nom du propriétaire du schéma.
Ces informations fournissent des solutions SQL adaptables pour récupérer les noms de tables, garantissant ainsi la compatibilité entre diverses plates-formes de bases de données. Pensez à ajuster les valeurs dbName
ou schema_name
en fonction de votre environnement.
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!