从数据库中获取表名

时间:2011-01-10 09:50:40

标签: mysql sql

我搜索了很多网站,但我没有遇到任何代码或教程,这些代码或教程已经完成了从单个数据库中获取表名的细节。

假设我有4个数据库并且我想要数据库中名为mp21的所有表的名称,我可以使用什么查询?

7 个答案:

答案 0 :(得分:20)

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

答案 1 :(得分:9)

在MySQL中,这将列出所有数据库:

show databases;

您可以这样做:

use <database_name>;

然后

show tables;

答案 2 :(得分:3)

在SQL SERVER中,您只需使用 -

即可
select * from sys.tables

答案 3 :(得分:1)

use mp21
SELECT name FROM dbo.sysobjects WHERE xtype = 'U' 

答案 4 :(得分:1)

我使用了这个查询:

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

它为我提供了表名和sysDiagram(为该数据库生成的数据库图)

答案 5 :(得分:0)

如果您询问.net代码,那么您需要SMO

using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;



public static List<Table> GetTables(string connection, string databaseName)
        {
            if (String.IsNullOrEmpty(connection))
                throw new ArgumentException("connection is null or empty.", "connection");

            Server srv = getServer(connection);
            return srv.Databases[databaseName].Tables.Cast<Table>().ToList();
        }

答案 6 :(得分:0)

这是您询问的MySQL查询。

SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='mp21'