通过 SQL查询获取特定数据库的所有表名

我工作的应用程序,可以处理多个数据库服务器,如“MySQL”和“MS SQL Server”。

我工作的应用程序,可以处理多个数据库服务器,如“MySQL”和“MS SQL Server”。

我想使用适用于所有数据库类型的一般查询获取特定数据库的表名称。

SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE='BASE TABLE'

但是它给出了特定服务器的所有数据库的表名,但我只想获取选定数据库的表名。

627

可能是由于不同的 sql dbms 处理模式的方式。

尝试以下操作

对于 SQL Server:

SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_CATALOG='dbName'

对于 MySQL:

SELECT TABLE_NAME 
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_SCHEMA='dbName' 

对于 Oracle,我认为等效的是使用DBA_TABLES

96

here窃取:

USE YOURDBNAME
GO 
SELECT *
FROM sys.Tables
GO
39

以下查询将选择名为DBName的数据库中的所有Tables

USE DBName
GO 
SELECT *
FROM sys.Tables
GO
20

DATABASE NAME放在INFORMATION_SCHEMA.TABLES前面:

select table_name from YOUR_DATABASE.INFORMATION_SCHEMA.TABLES where TABLE_TYPE = 'BASE TABLE'

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(979)
SQLServer始终在AWS RDS上加密
上一篇
如何在Windows中将用户添加到PostgreSQL
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(7条)