[JAVA] SQL pour obtenir la liste des tables (Oracle / MySQL / PostgreSQL / SQLite / SQLServer / Cassandra)

introduction

MiluDB Viewer (client GUI DB utilisant JavaFX) J'ai oublié ce que j'ai fait quand je l'ai fait, alors notez-le.

Cette fois, il s'agit de SQL pour obtenir la liste des tables.

Oracle - 12c Release 2

select object_name, status from all_objects
where
object_type = 'TABLE'
and
owner = 'Nom du schéma'
order by owner, object_name

plage de valeurs d'état VALID INVALID

MySQL - 8.0.11/SQLServer - 2017

select  table_name from information_schema.tables 
where 
  table_type='BASE TABLE' 
  and 
  table_schema = 'Nom du schéma'
order by table_name

MySQL et SQL Server peuvent être obtenus avec le même SQL !!

PostgreSQL - 10.4

select 
  c.relname  
from 
  pg_class c join 
  pg_namespace n on n.oid = c.relnamespace 
where 
  n.nspname = 'Nom du schéma' 
  and 
  c.relkind = 'r' 
order by c.relname

SQLite

select name from sqlite_master
where
  type = 'table'
order by name

Cassandra - 3.9.0

select table_name from system_schema.tables
where
  keyspae_name = 'Nom du schéma'
order by table_name

DB autre que celui ci-dessus

Comme je l'ai appris plus tard, si JDBC l'implémente, Dans la méthode getTables () de java.sql.DatabaseMeataData, Puisque java.sql.ResultSet est renvoyé, Vous pouvez l'obtenir avec resultset.getString ("TABLE_NAME").

URL de référence https://avaldes.com/jdbc-statement-databasemetadata-gettables-example/

Recommended Posts

SQL pour obtenir la liste des tables (Oracle / MySQL / PostgreSQL / SQLite / SQLServer / Cassandra)
SQL pour obtenir la liste des schémas (Oracle / MySQL / PostgreSQL / SQLServer / Cassandra)
Passer de SQLite3 à PostgreSQL
Changer la base de données de SQLite en MySQL
Rails DB PostgreSQL a été remplacé par MySQL