Список sql таблиц: Список (показать) таблиц в базе данных MySQL
Содержание
Список (показать) таблиц в базе данных MySQL
При управлении серверами баз данных MySQL одной из самых частых задач, которые вы выполняете, является знакомство со средой. Это включает в себя перечисление баз данных, которые находятся на сервере, отображение таблиц баз данных или выборку информации об учетных записях пользователей и их привилегиях.
В этой статье показано, как составить список таблиц в базе данных MySQL или MariaDB через командную строку.
Показать таблицы MySQL
Чтобы получить список таблиц в базе данных 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.
Содержание
- Получаем список всех таблиц с помощью представления информационной схемы
- Получаем список всех таблиц с помощью системного представления sys.tables
- Получаем список всех таблиц с помощью системной процедуры
Получаем список всех таблиц с помощью представления информационной схемы
В 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
Пожалуйста, используйте это.