Armida-od
@Armida-od

Как сделать запрос к самой базе данных (SQL)?

Доброго времени суток. Начала изучать SQL и наткнулась на такой для себя вопрос (гугл пока не помог): как сделать определенный запрос не к таблице, а к самой базе данных.

Предисловие: у нескольких таблиц поле названо, например, productId, и чтоб обратиться к определенному полю, мы прописываем, nameTable.productId. Но у нас огромная база и поле называется, например, zIndex, и мы не знаем, есть ли это название в других таблицах (тоесь можно просто обратиться по имени, если имя уникальное, или таки через имя таблицы).

Вопрос: Как можно сделать запрос ко всей Базе данных, чтоб на экран вывести 1 поле: zIndex, 2 поле: название таблиц, где встречается это поле.
Понимаю, что лучше указывать имя таблицы и не париться, но я хочу найти решение.
Всем спасибо
  • Вопрос задан
  • 70 просмотров
Пригласить эксперта
Ответы на вопрос 2
sergey-gornostaev
@sergey-gornostaev Куратор тега SQL
Седой и строгий
В общем случае никак. У отдельных СУБД могут быть свои механизмы работы со схемами, но стоит избегать их использования.
Ответ написан
@alexalexes
MySQL. Если хоть раз открывали phpmyadmin и видели в списке схем information_schema. То это оно, что вы ищите. В этой схеме лежит весь конструктив базы. Туда и нужно обращаться, чтобы вытащить сведения об архитектуре.
Select distinct table_schema, table_name
from information_schema.colums
where column_name = 'имя поля'

Oracle. Тоже есть некоторые "супер-таблицы" со сведениями о структуре:
SELECT table_name, column_name, data_type, data_length
FROM USER_TAB_COLUMNS
WHERE column_name = 'имя поля'

Под каждую СУБД есть свои источники-таблицы структуры самой базы, но реализованы они по разному.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы