Как стать автором
Обновить

Системные таблицы в базах данных

Время на прочтение1 мин
Количество просмотров2.3K
Редко когда приходится делать перечисление всех таблиц, колонок, прав — при разработке это всё делает клиентская программа. Но когда разработка ведётся удалённо и вы не видите разниц в продублированных базах данных в принципе безопасности, то что-бы сдвинуться с мёртвой точки гадания в чём же дело, почему не поступают данные, надо делать элементарные запросы о структуре таблиц и владений привилегиями.

Ключём являются тн. системные таблицы, которые описывают остальные и самих себя. Из-за отсутсвия таких стандартов в ANSI SQL, разные движки реализовали по разному доступ к таким таблицам.

Mysql — отдельный тип запроса. SHOW так-же может показывать состояние БД, нагруженность процессами и тп.
SHOW TABLE status

Postgre — Иерархия разделена по принципу database.schema.table, поэтому часто администраторы не любят создавать новые базы данных — для них каждый раз дублируются системные схемы pg_catalog и information_schema.
select table_name, table_schema from information_schema.tables //все таблицы
select column_name from information_schema.columns WHERE table_name='columns' // замкнутый круг

Oracle — обычные таблицы, которые правда мало кто может просто так взять и поменять

select * from ALL_TABLES
select * from USER_TABLES

Оригинал
Теги:
Хабы:
0
Комментарии2

Публикации

Изменить настройки темы

Истории

Ближайшие события

PG Bootcamp 2024
Дата16 апреля
Время09:30 – 21:00
Место
МинскОнлайн
EvaConf 2024
Дата16 апреля
Время11:00 – 16:00
Место
МоскваОнлайн
Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн