Подтвердить что ты не робот

Получить имена таблиц из базы данных

Я просматривал кучу веб-сайтов, и я не сталкивался с каким-либо кодом или учебным пособием, в котором рассмотрены особенности получения имен таблиц из одной базы данных.

Предполагая, что у меня есть 4 базы данных, и мне нужны имена всех таблиц в базе данных под названием mp21, какой запрос я могу использовать?

4b9b3361

Ответ 1

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

Ответ 2

В MySQL это будет список всех баз данных:

show databases;

Для каждого из них вы можете:

use <database_name>;

а затем

show tables;

Ответ 3

В SQL SERVER вы можете просто использовать -

select * from sys.tables

Ответ 4

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

Ответ 5

Я использовал этот запрос:

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

Он дает мне имя таблицы, а также sysDiagram (диаграмма базы данных, сгенерированная для этой базы данных)

Ответ 6

если вы спрашиваете о .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();
        }

Ответ 7

Вот запрос MySQL, который вы задали.

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