获取SQL(Oracle/MySQL/PostgreSQL/SQLite/SQLServer/Cassandra)中的表格列表

首先

因为我忘记了创建使用JavaFX的GUI DB客户端MiluDBViewer的内容,所以我将做一份备忘录。

这次是关于获取表格列表的SQL。

Oracle – 12c第二版本

select object_name, status from all_objects
where
object_type = 'TABLE'
and
owner = 'スキーマ名'
order by owner, object_name

状态的范围
有效的
无效的

MySQL – 8.0.11/SQLServer – 2017

MySQL – 8.0.11/SQLServer – 2017 (MySQL – 8.0.11/SQLServer – 2017)

select  table_name from information_schema.tables 
where 
  table_type='BASE TABLE' 
  and 
  table_schema = 'スキーマ名'
order by table_name

MySQL和SQL Server可以用相同的SQL语句进行查询!

PostgreSQL – 十点四版

select 
  c.relname  
from 
  pg_class c join 
  pg_namespace n on n.oid = c.relnamespace 
where 
  n.nspname = 'スキーマ名' 
  and 
  c.relkind = 'r' 
order by c.relname

SQLite 使用示例:

SQLite是一种自包含的、无服务器的、无维护的、零配置的关系型数据库引擎。可以通过直接访问文件来存取数据库,而不需要任何额外的客户端/服务器进程。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 = 'スキーマ名'
order by table_name

除了上述的数据库之外

我后来才得知,如果JDBC已经实施,可以通过java.sql.DatabaseMetaData的getTables()方法获取到java.sql.ResultSet,然后通过resultset.getString(“TABLE_NAME”)取得。

参考链接:

JDBC Statement – DatabaseMetaData GetTables Example

请参考以下链接:

JDBC Statement – DatabaseMetaData GetTables Example