MariaDb быстрый совет #6 — Найти таблицу или столбец


Советы и подсказки по MariaDB

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

Поиск таблицы по имени

Если вы когда-нибудь работали с большой базой данных с огромным количеством таблиц и еще не знакомы со всей моделью данных, вы знаете, как трудно найти конкретную таблицу, которую вы ищете. А может быть, вам просто нужно получить список таблиц с похожими именами, чтобы вставить его в презентацию Power Point, над которой вы работаете.
Тогда вам может пригодиться следующий запрос.

SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_ROWS  
  FROM information_schema.tables 
 WHERE table_name LIKE '%dep%'
Войти в полноэкранный режим Выйти из полноэкранного режима

Найти таблицу с определенным столбцом

Если вы были программистом в течение некоторого времени и работали над различными проектами для разных заказчиков, то вы, вероятно, сталкивались с базами данных, в которых было мало или совсем не было ограничений внешних ключей. Причин отсутствия ограничений внешних ключей может быть много, и я не буду вдаваться в них здесь, но одним из последствий их отсутствия является то, что поиск таблиц, связанных с другими таблицами, становится трудным, поэтому вам нужен другой способ поиска связанных таблиц. И я надеюсь, что человек, который реализовал эти таблицы, назвал столбцы, связывающие таблицы, тем же именем столбца или похожим именем. И если это так, вы можете запросить все таблицы вашей базы данных, чтобы найти все таблицы, содержащие столбцы с определенным именем. Приведенный ниже запрос делает это.

 SELECT CONCAT(t.TABLE_SCHEMA, '.', t.TABLE_NAME), c.COLUMN_NAME 
   FROM information_schema.TABLES t
   JOIN information_schema.COLUMNS c ON t.TABLE_NAME = c.TABLE_NAME 
  WHERE c.COLUMN_NAME LIKE '%name%'
    AND t.TABLE_SCHEMA <> 'information_schema'
Вход в полноэкранный режим Выход из полноэкранного режима

Оцените статью
devanswers.ru
Добавить комментарий