Mysql как посмотреть связи между таблицами
Перейти к содержимому

Mysql как посмотреть связи между таблицами

  • автор:

Alexander-Lugovskoy / gist:2a8e264204d65d0011579d5a698b1f1c

Save Alexander-Lugovskoy/2a8e264204d65d0011579d5a698b1f1c to your computer and use it in GitHub Desktop.

Посмотреть связи между таблицами в mysql

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters

SELECT
`TABLE_SCHEMA`
`TABLE_NAME`,
`COLUMN_NAME`,
`REFERENCED_TABLE_SCHEMA`,
`REFERENCED_TABLE_NAME`,
`REFERENCED_COLUMN_NAME`
FROM
`INFORMATION_SCHEMA`.`KEY_COLUMN_USAGE`
WHERE
`REFERENCED_TABLE_NAME` IS NOT NULL;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Footer

© 2024 GitHub, Inc.

You can’t perform that action at this time.

Как посмотреть связи таблиц sql

Для просмотра связей между таблицами в SQL можно использовать системную таблицу INFORMATION_SCHEMA . INFORMATION_SCHEMA содержит метаданные о базе данных, включая информацию о таблицах, столбцах и связях.

Чтобы просмотреть связи между таблицами, можно использовать запрос следующего вида:

SELECT tc.constraint_name, tc.table_name, kcu.column_name, ccu.table_name AS foreign_table_name, ccu.column_name AS foreign_column_name FROM information_schema.table_constraints AS tc JOIN information_schema.key_column_usage AS kcu ON tc.constraint_name = kcu.constraint_name AND tc.table_schema = kcu.table_schema JOIN information_schema.constraint_column_usage AS ccu ON ccu.constraint_name = tc.constraint_name AND ccu.table_schema = tc.table_schema WHERE tc.constraint_type = 'FOREIGN KEY' AND tc.table_name='имя_таблицы'; 

Здесь имя_таблицы — это имя таблицы, связи которой вы хотите просмотреть.

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

MySQL. Как просмотреть схему данных (связи между таблицами)?

Нужно просмотреть связи в командной строке. Насколько я понял данные о связях хранятся в БД information_scheme. Но где именно и какой запрос нужно создать?

  • Вопрос задан более трёх лет назад
  • 8675 просмотров

Комментировать
Решения вопроса 2

Sanasol

нельзя просто так взять и загуглить ошибку
Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать

EgoRusMarch

megorit @EgoRusMarch Автор вопроса
C++ Developer

SELECT TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME LIKE "MY_TABLE";

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ответы на вопрос 2

kiberspy

Искать прогу, которая умеет делать «обратный» инжиниринг БД MySQL. (название к сожалению запамятовал!)
Такая апликуха тебе практически шедевр сделает в виде картинки 🙂
Копать в сторону — dit.isuct.ru/Publish_RUP/core.base_rup/guidances/t.
(MySQL увы не упоминается)

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать

Rsa97

Для правильного вопроса надо знать половину ответа

Если эти связи не оформлены в явном виде через FOREIGN KEY, то хранятся они только в голове программиста, ни может ещё в документации на продукт. А FOREIGN KEY можно получить через SHOW CREATE TABLE `table_name`;

Как посмотреть связи между таблицами в MySQL: простой способ и инструменты

Чтобы посмотреть связи между таблицами в MySQL, можно использовать оператор SHOW CREATE TABLE для каждой таблицы и посмотреть, какие внешние ключи определены.

SHOW CREATE TABLE table_name;

Например, чтобы посмотреть связи для таблицы «employees», выполните следующий запрос:

SHOW CREATE TABLE employees;

В результате вы увидите определение таблицы и информацию о внешних ключах. Внешний ключ будет указывать на другую таблицу и столбец, с которым устанавливается связь.

Детальный ответ

Привет! Сегодня я помогу вам разобраться, как посмотреть связи между таблицами в MySQL. Связи между таблицами являются одним из самых важных аспектов при работе с базами данных. Они позволяют связывать данные из разных таблиц вместе и обеспечивают целостность данных. В MySQL для создания связей между таблицами мы используем внешние ключи. Внешний ключ — это столбец или набор столбцов в таблице, который ссылается на столбец или набор столбцов в другой таблице. Эта связь определяет отношение между двумя таблицами. Давайте рассмотрим пример. Допустим, у нас есть две таблицы — «users» и «orders». Таблица «users» содержит информацию о пользователях, а таблица «orders» содержит информацию о заказах, которые сделали эти пользователи.

 CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(50) ); CREATE TABLE orders ( id INT PRIMARY KEY, user_id INT, order_date DATE, FOREIGN KEY (user_id) REFERENCES users(id) ); 

В этом примере мы создали две таблицы. В таблице «users» у нас есть столбцы «id» и «name». Столбец «id» является первичным ключом для таблицы «users». В таблице «orders» у нас есть столбцы «id», «user_id» и «order_date». Столбец «id» является первичным ключом для таблицы «orders». Столбец «user_id» является внешним ключом, который ссылается на столбец «id» в таблице «users». Это создает связь между таблицами «users» и «orders». Теперь, когда у нас есть связь между таблицами, мы можем использовать операторы JOIN, чтобы объединить данные из этих таблиц. Вот пример SQL-запроса, который объединяет таблицы «users» и «orders» и выводит информацию о пользователях и их заказах:

 SELECT users.name, orders.order_date FROM users JOIN orders ON users.id = orders.user_id; 

Этот запрос объединяет таблицы «users» и «orders» по значению столбца «id» в таблице «users» и столбца «user_id» в таблице «orders». Затем он выбирает имя пользователя из таблицы «users» и дату заказа из таблицы «orders». Таким образом, мы получаем информацию о пользователях и их заказах, объединяя данные из двух таблиц с помощью связи между ними. В MySQL также есть разные типы связей, такие как один к одному, один ко многим и многие ко многим. Они позволяют определить более сложные отношения между таблицами. Если вам интересны эти типы связей, обратитесь к документации MySQL для получения дополнительной информации. В этой статье мы познакомились с основами создания связей между таблицами в MySQL. Мы узнали, что внешний ключ позволяет нам создавать связи между таблицами, и использование операторов JOIN позволяет нам объединять данные из этих связанных таблиц. Я надеюсь, что этот материал был полезен для вас! Если у вас возникли вопросы или вам нужна дополнительная помощь, не стесняйтесь задавать их. Удачи вам в изучении MySQL и работы с базами данных!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *