我搜索了很多网站,但我没有遇到任何代码或教程,这些代码或教程已经完成了从单个数据库中获取表名的细节。
假设我有4个数据库并且我想要数据库中名为mp21
的所有表的名称,我可以使用什么查询?
答案 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'