Получение списка таблиц по схеме и подстроке в DB2
Пройдите тест, узнайте какой профессии подходите
Быстрый ответ
Требуется получить данные оперативно? Вот решение:
SELECT TABNAME FROM SYSCAT.TABLES WHERE TABSCHEMA='ВАША_СХЕМА';
Вместо 'ВАША_СХЕМА'
подставьте действительное имя схемы, чтобы получить требуемый результат. Быстро и надежно. 💼💫
Подробнее о SYSCAT.TABLES
SYSCAT.TABLES
— это некий аналог телефонной книги в DB2, в которой хранится вся ключевая информация о таблицах: их имена, данные о создании, информация о владельцах и типах таблиц.
Можно выделить только пользовательские таблицы:
SELECT TABNAME FROM SYSCAT.TABLES WHERE TABSCHEMA = 'ВАША_СХЕМА' AND TYPE = 'T';
Этот запрос окажется весьма полезным, отображая только те таблицы, которые мы создали собственноручно, исключая системные таблицы DB2. 🎉💃
Уточнение запроса с использованием LIKE
Если требуется уточнить поиск, определить таблицы, имена которых содержат определенные символы, можно использовать LIKE
:
SELECT TABNAME FROM SYSCAT.TABLES
WHERE TABSCHEMA = 'ВАША_СХЕМА' AND TABNAME LIKE '%CUR%';
Здесь символы %
работают как маски, помогают найти нужные таблицы, в имени которых присутствует 'CUR'. Это немного напоминает запоминание номера телефона по последним цифрам. Удобно!
Разница между платформами
Платформы для DB2 могут сильно отличаться. Если работа связана с IBM iSeries (AS/400), то запрос будет выглядеть не так:
SELECT TABLE_NAME FROM QSYS2.SYSTABLES WHERE TABLE_SCHEMA = 'ВАША_СХЕМА' AND TABLE_TYPE = 'T';
Отметьте, что здесь TABNAME
и TYPE
заменены на TABLE_NAME
и TABLE_TYPE
. Учесть эти нюансы — ключ к профессиональной работе с DB2.
Визуализация
Схема в базе данных напоминает книжную полку. Рассмотрим аналогию:
📚 Книжная полка схемы 📘
| Полка (Схема) | Книги (Таблицы) |
|--------------|-------------------------------|
| Худ.литература| 📘 Роман1, 📗 Роман2, 📙 Роман3 |
| Научная фантастика | 📕 Повесть1, 📒 Повесть2 |
Каждая книга (таблица) на полке (схеме) будто ожидает своего читателя. Чтобы провести обзор полки:
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'Худ.литература';
-- Просматриваем книги 📘📗📙 на полке 'Худ.литература'. Тсс, здесь скрыто пара романов! 😉
Пройдясь по полкам, мы легко найдем интересное для чтения. 🕵️♂️✨
Переключение между платформами
Работа с различными версиями DB2, например, DB2 для z/OS и DB2 для Linux, UNIX и Windows (LUW), требует знания особенностей каталогов каждой платформы. Нужно думать как многоязычный переводчик, беспрепятственно ориентирующийся в разных условиях.
Обзор всех таблиц
Если требуется обзор всех таблиц, используйте команду db2 LIST TABLES FOR ALL
. Это своего рода мета-поиск, который позволит увидеть все, что доступно в базе данных. Теперь вы — как настоящий детектив по работе с базами данных!
Полезные материалы
- Описание каталога SYSCAT.TABLES — официальная документация IBM, содержит информацию о системных каталогах DB2.
- Документация IBM — руководство по работе с командами и утилитами DB2, написанное гораздо интереснее обычного мануала.
- IBM Developer — Вопросы и ответы. Сообщество IBM Developer всегда готово помочь.
- SQL Reference for IBM i — Правомерно называется 'Библией' для DB2.
- SQLAuthority — Практическое руководство для специалистов, стремящихся расширить свои знания.