Бесплатный вебинар
«как найти любимую работу»
Подарки на 150 000 ₽ за участие
Живой эфир
Записи не будет!
00:00:00:00
дн.ч.мин.сек.

Получение списка таблиц по схеме и подстроке в DB2

Быстрый ответ

Требуется получить данные оперативно? Вот решение:

SQL
Скопировать код
SELECT TABNAME FROM SYSCAT.TABLES WHERE TABSCHEMA='ВАША_СХЕМА';

Вместо 'ВАША_СХЕМА' подставьте действительное имя схемы, чтобы получить требуемый результат. Быстро и надежно. 💼💫

Кинга Идем в IT: пошаговый план для смены профессии

Подробнее о SYSCAT.TABLES

SYSCAT.TABLES — это некий аналог телефонной книги в DB2, в которой хранится вся ключевая информация о таблицах: их имена, данные о создании, информация о владельцах и типах таблиц.

Можно выделить только пользовательские таблицы:

SQL
Скопировать код
SELECT TABNAME FROM SYSCAT.TABLES WHERE TABSCHEMA = 'ВАША_СХЕМА' AND TYPE = 'T';

Этот запрос окажется весьма полезным, отображая только те таблицы, которые мы создали собственноручно, исключая системные таблицы DB2. 🎉💃

Уточнение запроса с использованием LIKE

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

SQL
Скопировать код
SELECT TABNAME FROM SYSCAT.TABLES
WHERE TABSCHEMA = 'ВАША_СХЕМА' AND TABNAME LIKE '%CUR%';

Здесь символы % работают как маски, помогают найти нужные таблицы, в имени которых присутствует 'CUR'. Это немного напоминает запоминание номера телефона по последним цифрам. Удобно!

Разница между платформами

Платформы для DB2 могут сильно отличаться. Если работа связана с IBM iSeries (AS/400), то запрос будет выглядеть не так:

SQL
Скопировать код
SELECT TABLE_NAME FROM QSYS2.SYSTABLES WHERE TABLE_SCHEMA = 'ВАША_СХЕМА' AND TABLE_TYPE = 'T';

Отметьте, что здесь TABNAME и TYPE заменены на TABLE_NAME и TABLE_TYPE. Учесть эти нюансы — ключ к профессиональной работе с DB2.

Визуализация

Схема в базе данных напоминает книжную полку. Рассмотрим аналогию:

Markdown
Скопировать код
📚 Книжная полка схемы 📘
| Полка (Схема)  | Книги (Таблицы)                 |
|--------------|-------------------------------|
| Худ.литература| 📘 Роман1, 📗 Роман2, 📙 Роман3 |
| Научная фантастика | 📕 Повесть1, 📒 Повесть2         |

Каждая книга (таблица) на полке (схеме) будто ожидает своего читателя. Чтобы провести обзор полки:

SQL
Скопировать код
SELECT TABLE_NAME 
FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_SCHEMA = 'Худ.литература';
-- Просматриваем книги 📘📗📙 на полке 'Худ.литература'. Тсс, здесь скрыто пара романов! 😉

Пройдясь по полкам, мы легко найдем интересное для чтения. 🕵️‍♂️✨

Переключение между платформами

Работа с различными версиями DB2, например, DB2 для z/OS и DB2 для Linux, UNIX и Windows (LUW), требует знания особенностей каталогов каждой платформы. Нужно думать как многоязычный переводчик, беспрепятственно ориентирующийся в разных условиях.

Обзор всех таблиц

Если требуется обзор всех таблиц, используйте команду db2 LIST TABLES FOR ALL. Это своего рода мета-поиск, который позволит увидеть все, что доступно в базе данных. Теперь вы — как настоящий детектив по работе с базами данных!

Полезные материалы

  1. Описание каталога SYSCAT.TABLESофициальная документация IBM, содержит информацию о системных каталогах DB2.
  2. Документация IBMруководство по работе с командами и утилитами DB2, написанное гораздо интереснее обычного мануала.
  3. IBM Developer — Вопросы и ответы. Сообщество IBM Developer всегда готово помочь.
  4. SQL Reference for IBM i — Правомерно называется 'Библией' для DB2.
  5. SQLAuthority — Практическое руководство для специалистов, стремящихся расширить свои знания.
Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей
Какой запрос используется для получения имен пользовательских таблиц в схеме DB2?
1 / 5