Список sql таблиц: Список (показать) таблиц в базе данных MySQL

Список (показать) таблиц в базе данных MySQL

При управлении серверами баз данных MySQL одной из самых частых задач, которые вы выполняете, является знакомство со средой. Это включает в себя перечисление баз данных, которые находятся на сервере, отображение таблиц баз данных или выборку информации об учетных записях пользователей и их привилегиях.

В этой статье показано, как составить список таблиц в базе данных MySQL или MariaDB через командную строку.

 

Чтобы получить список таблиц в базе данных MySQL, используйте клиентский инструмент mysql для подключения к серверу MySQL и выполните команду SHOW TABLES.

Получите доступ к серверу MySQL:

mysql -u user -p

 

Из оболочки MySQL переключитесь на базу данных с помощью инструкции USE:

USE database_name;

 

Выполните следующую команду, чтобы получить список всех таблиц и представлений в текущей базе данных:

SHOW TABLES;

 

Вывод будет выглядеть примерно так:

+----------------------------+
| Tables_in_database_name    |
+----------------------------+
| actions                    |
| permissions                |
| permissions_roles          |
| permissions_users          |
| roles                      |
| roles_users                |
| settings                   |
| users                      |
+----------------------------+
8 rows in set (0. 00 sec)

 

Необязательный модификатор FULL покажет тип таблицы в качестве второго выходного столбца.

SHOW FULL TABLES;

 

Вывод будет выглядеть примерно так:

+----------------------------+------------+
| Tables_in_database_name    | Table_type |
+----------------------------+------------+
| actions                    | VIEW       |
| permissions                | BASE TABLE |
| permissions_roles          | BASE TABLE |
| permissions_users          | BASE TABLE |
| roles                      | BASE TABLE |
| roles_users                | BASE TABLE |
| settings                   | BASE TABLE |
| users                      | BASE TABLE |
+----------------------------+------------+
8 rows in set (0.00 sec)

 

Чтобы получить список таблиц без переключения на базу данных, используйте предложение FROM или IN, за которым следует имя базы данных:

SHOW TABLES FROM database_name;

 

Предложение LIKE можно использовать для фильтрации выходных данных c командой SHOW TABLES в соответствии с определенным шаблоном.

SHOW TABLES LIKE pattern;

 

Например, следующий оператор вернет все базы данных, имена которых начинаются с ‘open’:

SHOW TABLES LIKE 'permissions%';

 

+-------------------------------------------+
| Tables_in_database_name (permissions%)    |
+-------------------------------------------+
| permissions                               |
| permissions_roles                         |
| permissions_users                         |
+-------------------------------------------+
3 rows in set (0.00 sec)

 

Знак процента (%) означает ноль, один или несколько символов.

 

Показывать таблицы MySQL из командной строки

Чтобы получить информацию о таблицах из оболочки Linux, вы можете использовать либо команду mysql -e, либо команду mysqlshow, которая отображает информацию о базах данных и таблицах.

Это особенно полезно, когда вы хотите работать с базами данных MySQL, используя сценарии оболочки.

Запустите следующую команду на своем терминале, чтобы показать список всех баз данных:

mysql -u user -p -e 'SHOW TABLES FROM database_name;'

 

Вывод отобразит список всех таблиц:

+----------------------------+
| Tables_in_database_name    |
+----------------------------+
| actions                    |
| permissions                |
| permissions_roles          |
| permissions_users          |
| roles                      |
| roles_users                |
| settings                   |
| users                      |
+----------------------------+

 

Вот пример использования команды mysqlshow:

mysqlshow database_name

 

Вы можете отфильтровать вывод с помощью команды grep.

 

Чтобы получить информацию о таблицах в базе данных MySQL, используйте команду SHOW TABLES.

Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Как получить список всех таблиц в базе данных Microsoft SQL Server? | Info-Comp.ru

Если у Вас встала задача определить количество таблиц в базе данных Microsoft SQL Server, то данная статья Вам поможет, так как в ней мы рассмотрим несколько способов реализации того, как можно получить список всех пользовательских таблиц, включая некоторые их характеристики с помощью SQL запроса.

Всю информацию о таблицах и других объектах SQL сервера можно посмотреть в графической среде SQL Server Management Studio, но иногда требуется выгрузить данную информацию или просто получить к ней доступ, для того чтобы использовать ее, например, в своих SQL инструкциях, это можно сделать несколькими способами, и сейчас мы их рассмотрим.

Примечание! Примеры рассматривать мы будем в СУБД Microsoft SQL Server 2016 Express.

Содержание

  1. Получаем список всех таблиц с помощью представления информационной схемы
  2. Получаем список всех таблиц с помощью системного представления sys.tables
  3. Получаем список всех таблиц с помощью системной процедуры

Получаем список всех таблиц с помощью представления информационной схемы

В Microsoft SQL Server есть специальная схема, предназначенная для получения информации о метаданных — это INFORMATION_SCHEMA. Подробно о ней мы говорили в материале – «Представления информационной схемы Microsoft SQL Server».

Для того чтобы получить информацию о таблицах в БД, существует представление информационной схемы TABLES. Допустим, нам нужно получить просто перечень таблиц, для этого пишем следующий SQL запрос (в моей тестовой базе всего одна таблица).

   
   SELECT TABLE_NAME AS [Название таблицы]
   FROM INFORMATION_SCHEMA. TABLES
   WHERE table_type='BASE TABLE'


В данном случае мы указали условие table_type=’BASE TABLE’, так как данное представление содержит еще и информацию о представлениях (VIEW).


Недостатком данного способа является то, что никакой больше полезной информации в представлении INFORMATION_SCHEMA.TABLES нет.

Получаем список всех таблиц с помощью системного представления sys.tables

Альтернативным способом и более удачным, если Вам нужна дополнительная информация о таблицах, является способ с использованием системного представления sys.tables. Давайте сейчас с помощью этого представления выведем список таблиц, а также получим дополнительные сведения о дате создания таблицы и дате последнего редактирования этой таблицы.

   
   SELECT name AS [Название таблицы],
           create_date AS [Дата создания],
           modify_date AS [Дата редактирования]
   FROM sys.tables


Получаем список всех таблиц с помощью системной процедуры

Еще одним способом получения списка таблиц в базе данных Microsoft SQL Server является использование системной процедуры sp_Tables, но, на мой взгляд, данный способ менее удобный, к тому же он возвращает также немного сведений, по сути, только название таблиц.

Для того чтобы получить сведения о таблицах в БД нам нужно указать параметр @table_type со значением ‘TABLE’, так как данная процедура возвращает еще данные о представлениях и системных таблицах. Следует обратить внимание на то, что значение параметра нужно заключать в двойные кавычки, а каждое значение типа в одиночные кавычки, так как через запятую возможно указывать несколько типов (например, для того чтобы получить таблицы и представления, в значение параметра нужно указать — «‘TABLE’, ‘VIEW’»). Также мы укажем параметр @table_owner, для того чтобы ограничиться одним владельцем.

   
   EXEC sp_Tables @table_owner = 'dbo', 
                           @table_type = "'TABLE'";


Вот мы с Вами и рассмотрели три возможности получения списка таблиц в Microsoft SQL Server. Всем тем, кто только начинает свое знакомство с языком SQL, рекомендую прочитать книгу «SQL код» – это самоучитель по языку SQL, которую написал я, и в которой я подробно, и в то же время простым языком, рассказываю о языке SQL.

У меня все, пока!

Заметка! Для профессионального изучения языка T-SQL рекомендую посмотреть мои видеокурсы по T-SQL.

SQL Список всех таблиц

Сводка : в этом руководстве вы узнаете, как использовать команды для вывода списка всех таблиц базы данных в различных системах управления базами данных.

Каждая система баз данных имеет собственную команду для отображения всех таблиц в указанной базе данных. Здесь вы можете найти соответствующую команду SQL для вывода списка всех таблиц в MySQL, PostgreSQL, Oracle, SQL Server, DB2 и SQLite.

Команда SQL для вывода списка всех таблиц в MySQL

Чтобы вывести список всех таблиц в MySQL, сначала вы подключаетесь к серверу базы данных MySQL с помощью следующей команды:

   mysql -u имя пользователя -p
  

Язык кода: SQL (язык структурированных запросов) (sql)

Затем MySQL запрашивает пароль; просто введите правильный для пользователя и нажмите Enter.

После этого выберите базу данных для работы:

   use database_name;
  

Язык кода: SQL (язык структурированных запросов) (sql)

И, наконец, введите команду SHOW TABLES для отображения всех таблиц в текущей базе данных:

   показать столы;
  

Язык кода: SQL (язык структурированных запросов) (sql)

Команда SQL для вывода списка всех таблиц в Oracle

В Oracle можно использовать SQL*Plus или SQL Developer для подключения к серверу базы данных Oracle и отображения всех таблицы в базе данных. Затем введите один из следующих операторов SQL:

1) Показать все таблицы, принадлежащие текущему пользователю:

   SELECT
    имя_таблицы
ОТ
    пользовательские_таблицы;
  

Язык кода: SQL (язык структурированных запросов) (sql)

2) Показать все таблицы в текущей базе данных:

   SELECT
    имя_таблицы
ОТ
    dba_tables;
  

Язык кода: SQL (язык структурированных запросов) (sql)

3) Показать все таблицы, доступные текущему пользователю:

   SELECT
    имя_таблицы
ОТ
    все_таблицы;
  

Язык кода: SQL (язык структурированных запросов) (sql)

Команда SQL для вывода списка всех таблиц в PostgreSQL

Для PostgreSQL вы можете использовать программу командной строки psql для подключения к серверу базы данных PostgreSQL и отображения всех таблиц в базе данных.

Сначала подключитесь к серверу базы данных PostgreSQL:

   psql -d имя_базы_данных -U пользователь -W
  

Язык кода: SQL (язык структурированных запросов) (sql)

PostgreSQL запросит пароль; просто введите правильный и нажмите Enter.

Затем введите следующую команду, чтобы отобразить все таблицы в текущей базе данных:

   \dt
  

Язык кода: SQL (язык структурированных запросов) (sql)

Если вы хотите отобразить также размер и описание таблиц, выполните следующую команду:

   \dt+
  

Язык кода: SQL (язык структурированных запросов) (sql)

Команда SQL для вывода списка всех таблиц в SQL Server

В SQL Server можно использовать следующий запрос для поиска всех таблиц в текущей подключенной базе данных:

   ВЫБЕРИТЕ
    *
ОТ
    информационная_схема. таблицы;
  

Язык кода: SQL (структурированный язык запросов) (SQL)

Команда SQL для перечисления всех таблиц в DB2

Сначала подключите к конкретной базе данных на сервере базы данных DB2:

   DB2 Подключите DATABASE_NAME.
  

Язык кода: SQL (язык структурированных запросов) (sql)

Во-вторых, чтобы вывести список всех таблиц в текущей схеме базы данных, используйте следующую команду:

   таблицы списка db2 для схемы имя_схемы
  

Язык кода: SQL (язык структурированных запросов) (sql)

Чтобы получить список всех таблиц, используйте следующую команду:

   Список таблиц db2 для всех
  

Язык кода: SQL (язык структурированных запросов) (sql)

Команда SQL для вывода списка всех таблиц в SQLite

Чтобы отобразить все таблицы в текущей базе данных SQLite, используйте следующую команду:

   . таблицы
  

Язык кода: SQL (язык структурированных запросов) (sql)

Если вы хотите запросить таблицы на основе определенного шаблона, например, все таблицы, имена которых начинаются с test , используйте следующую команду:

   .tables 'тест%';
  

Язык кода: SQL (язык структурированных запросов) (sql)

В этом руководстве вы изучили команды для отображения всех таблиц в базе данных в различных системах баз данных, включая MySQL, PostgreSQL, Oracle, SQL Server, DB2 и SQLite.

sql server — Как получить список всех таблиц в базе данных с помощью TSQL?

спросил

Изменено
6 месяцев назад

Просмотрено
2,1 млн раз

Как лучше всего получить имена всех таблиц в определенной базе данных на SQL Server?

  • sql-сервер
  • tsql
  • таблица базы данных

3

SQL Server 2000, 2005, 2008, 2012, 2014, 2016, 2017 или 2019:

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

Для отображения только таблиц из определенной базы данных

 SELECT TABLE_NAME
ОТ [<ИМЯ_БАЗЫ_ДАННЫХ>].INFORMATION_SCHEMA.TABLES
ГДЕ ТАБЛИЦА_ТИП = 'БАЗОВАЯ ТАБЛИЦА'
 

Или,

 ВЫБЕРИТЕ ИМЯ ТАБЛИЦЫ
ИЗ INFORMATION_SCHEMA.TABLES
ГДЕ ТАБЛИЦА_ТИП = 'БАЗОВАЯ ТАБЛИЦА'
    AND TABLE_CATALOG='dbName' -- (для MySql используйте: TABLE_SCHEMA='dbName' )
 

PS: для SQL Server 2000:

 SELECT * FROM sysobjects WHERE xtype='U'
 

9

 ВЫБЕРИТЕ имя_объекта
ИЗ системных объектов
ГДЕ objects.xtype = 'U'
 

Вот список других типов объектов, которые вы также можете искать:

  • AF: агрегатная функция (CLR)
  • C: ПРОВЕРИТЬ ограничение
  • D: ограничение по умолчанию или ПО УМОЛЧАНИЮ
  • F: ограничение FOREIGN KEY
  • Т: Журнал
  • FN: скалярная функция
  • FS: скалярная функция сборки (CLR)
  • FT: табличная функция сборки (CLR)
  • ЕСЛИ: встроенная табличная функция
  • IT: внутренний стол
  • P: хранимая процедура
  • ПК: сборка (CLR) хранимая процедура
  • PK: ограничение PRIMARY KEY (тип K)
  • RF: хранимая процедура фильтра репликации
  • S: системная таблица
  • Серийный номер

  • : синоним
  • .

  • SQ: очередь обслуживания
  • TA: сборка (CLR) триггера DML
  • TF: табличная функция
  • TR: триггер SQL DML
  • TT: Тип стола
  • U: Таблица пользователей
  • UQ: ограничение UNIQUE (тип K)
  • В: Вид
  • X: расширенная хранимая процедура

4

 ВЫБРАТЬ * ИЗ INFORMATION_SCHEMA.TABLES
 

ИЛИ

 ВЫБРАТЬ * ИЗ Sys.Tables
 

2

 ИСПОЛЬЗОВАТЬ YourDBName
ИДТИ
ВЫБИРАТЬ *
ИЗ системных таблиц
ИДТИ
 

ИЛИ

 ИСПОЛЬЗОВАТЬ YourDBName
ИДТИ
ВЫБЕРИТЕ * ИЗ INFORMATION_SCHEMA.TABLES
ИДТИ
 
 ВЫБРАТЬ * ИЗ information_schema.tables
где TABLE_TYPE = 'БАЗОВАЯ ТАБЛИЦА'
 

SQL Server 2012

выберите * из системных объектов, где xtype='U'

 exec sp_msforeachtable 'печать ''?'''
 
 ВЫБЕРИТЕ имя
ИЗ системных объектов
ГДЕ xtype='U'
ЗАКАЗАТЬ ПО ИМЕНИ;
 

(стандарт SQL Server 2000; по-прежнему поддерживается в SQL Server 2005. )

Недостатком INFORMATION_SCHEMA.TABLES является то, что он также включает системные таблицы, такие как dtproperties и таблицы MSpeer_... , без способ отличить их от ваших собственных таблиц.

Я бы рекомендовал использовать sys.objects (новая версия устаревшего представления sysobjects), которая поддерживает исключение системных таблиц:

 выбрать *
из sys.objects
где type = 'U' -- Пользовательские таблицы
и is_ms_shipped = 0 -- Исключить системные таблицы
 
 ВЫБЕРИТЕ имя_объекта
ИЗ системных объектов
ГДЕ objects.xtype = 'U'
 

1

Вы можете использовать sys.objects для получения всех объектов базы данных.

 ГО
 выберите * из sys.objects, где type_desc='USER_TABLE' упорядочить по имени
 ИДТИ
 

ИЛИ

 -- Для всех столов
выберите * из INFORMATION_SCHEMA.TABLES
ИДТИ
  --- Для пользовательских таблиц
выберите * из INFORMATION_SCHEMA. TABLES, где TABLE_TYPE='BASE TABLE'
ИДТИ
  --- Для просмотров
выберите * из INFORMATION_SCHEMA.TABLES, где TABLE_TYPE='VIEW'
ИДТИ
 

В SSMS для получения всех полных имен таблиц в определенной базе данных (например, «MyDatabase»):

 SELECT [TABLE_CATALOG] + '.' + [TABLE_SCHEMA] + '.' + [ИМЯ_ТАБЛИЦЫ]
ИЗ MyDatabase.INFORMATION_SCHEMA.Таблицы
ГДЕ [TABLE_TYPE] = «БАЗОВАЯ ТАБЛИЦА» и [TABLE_NAME] <> «системные диаграммы»
ЗАКАЗАТЬ ПО [TABLE_SCHEMA], [TABLE_NAME]
 

Результаты:

  • MyDatabase.dbo.MyTable1
  • MyDatabase.dbo.MyTable2
  • МояБаза Данных.МояСхема.МояТаблица3
  • Моя База Данных.МояСхема.МояТаблица4
  • и т. д.
 Любой из приведенных ниже кодов T-SQL будет работать в SQL Server 2019:
-- здесь вам нужно добавить префикс к имени базы данных в INFORMATION_SCHEMA.TABLES
ВЫБЕРИТЕ ИМЯ ТАБЛИЦЫ ИЗ [MSSQL-TEST].INFORMATION_SCHEMA.TABLES;
-- Следующие 2 способа потребуют от вас указать
-- в конкретную базу данных, в которую вы хотите вывести список таблиц
ИСПОЛЬЗОВАТЬ [MSSQL-ТЕСТ];
-- (1) Использование sys. tables
ВЫБЕРИТЕ * ИЗ sys.tables;
-- (2) Использование системных объектов
ВЫБЕРИТЕ * ИЗ системных объектов
ГДЕ тип = 'U';
Вот рабочий пример использования [Skyvia] с использованием sys.tables.
[Skyvia] должна быть ссылкой на https://skyvia.com/connectors/sql-server
  [1]: https://i.stack.imgur.com/o3qo9.png
 

 Ваш инструмент SQL с графическим интерфейсом также должен иметь способ перечислить все таблицы в базе данных, как показано выше.
Итак, что бы ни соответствовало вашим потребностям и вкусу, для этого есть код или инструмент с графическим интерфейсом.
 

ОБНОВЛЕНИЕ 2022 :
Вы можете перечислить/показать таблицы, которые вы создали с помощью этого простого запроса в Microsoft SQL SERVER .

 выберите * из SYS.TABLES;
 
 --для оракула
выберите tablespace_name, table_name из all_tables;
 

Эта ссылка может предоставить гораздо больше информации об этом
тема

1

Пожалуйста, используйте это.