Neste artigo você vai aprender a como listar todas as foreign keys de uma tabela com MySQL, de uma forma simples e rápida

Listar todas as foreign keys de uma tabela capa

Fala programador(a), beleza? Bora aprender mais sobre FOREIGN KEYS e também sobre SQL!

Para listas todas as chaves estrangeiras, ou seja, foreign keys que estão relacionadas a uma tabela precisamos criar uma query que aparenta ser complexa

Mas ela pode ser reproduzida facilmente para outras tabelas, apenas precisamos determinar o nome do banco e a tabela alvo

Veja a query necessária:

SELECT 
  TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME
FROM
  INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
  REFERENCED_TABLE_SCHEMA = "seu_banco" AND
  REFERENCED_TABLE_NAME = "sua_tabela";

Esta query vai gerar um retorno que é exatamente o que precisamos, quais tabelas e suas colunas que fazem relação com a tabela alvo e em todas as colunas

Se precisarmos de mais especifidade, por exemplo: detalhar os dados apenas de uma coluna, podemos fazer assim:

SELECT 
  TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME
FROM
  INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
  REFERENCED_TABLE_SCHEMA = "seu_banco" AND
  REFERENCED_TABLE_NAME = "sua_tabela" AND
  REFERENCED_COLUMN_NAME = "sua_coluna";

Agora temos as FOREIGN KEYs apenas de uma única coluna por vez

Conclusão

Neste artigo você aprendeu a listar todas as foreign keys de uma tabela em MySQL

Esta solução pode ser facilmente replicada em outros bancos relacionais também, basta realizar as adaptações necessárias para a sintaxe

Confira nossos cursos gratuitos no Youtube, com vídeos todos os dias!

Se inscreva e ative o sininho para receber as notificações e aprender mais ainda sobre desenvolvimento web!

Veja também nosso catálogo de cursos na Udemy, todos com exercícios e projetos práticos, nas mais diversas tecnologias

O link acima contém um cupom de desconto para os cursos!
Subscribe
Notify of
guest

0 Comentários
Inline Feedbacks
View all comments