获取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”)取得。
参考链接:
请参考以下链接: