我正在工作的应用程序,可以处理多个数据库服务器,如“MySQL”和“MS SQL Server”。
我想获得表的名称使用一个通用的查询,应该适合于所有数据库类型的特定数据库。我尝试了以下几点:
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE='BASE TABLE'
但它是给表名的所有数据库的一个特定的服务器,但我想获得表名选择的数据库只。如何限制此查询以获取特定数据库的表?
我正在工作的应用程序,可以处理多个数据库服务器,如“MySQL”和“MS SQL Server”。
我想获得表的名称使用一个通用的查询,应该适合于所有数据库类型的特定数据库。我尝试了以下几点:
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE='BASE TABLE'
但它是给表名的所有数据库的一个特定的服务器,但我想获得表名选择的数据库只。如何限制此查询以获取特定数据库的表?
当前回答
下面的查询将选择数据库中所有名为DBName的表:
USE DBName
GO
SELECT *
FROM sys.Tables
GO
其他回答
选择下面的数据库查询:
use DatabaseName
Now
SELECT * FROM INFORMATION_SCHEMA.TABLES
现在您可以在控制台中看到下面创建的表。
PFA.
下面的查询将选择数据库中所有名为DBName的表:
USE DBName
GO
SELECT *
FROM sys.Tables
GO
对于postgres,它将是:
SELECT table_name
FROM INFORMATION_SCHEMA.TABLES
WHERE table_schema = 'your_schema' -- probably public
USE DBName;
SELECT * FROM sys.Tables;
我们可以不用GO代替,你可以用分号;
对于Mysql,你可以做的很简单。显示表;