Muitas vezes temos a necessidade de realizar consultas ou até mesmo JOINs com tabelas que estão em outro servidor MySQL/MariaDB. E no nosso cenário não tenos um MySQL Cluster, nem um MySQL Galera Cluster, nem sequer uma replicação, seja isso por qualquer motivo(projetos diferentes, empresas diferentes, etc…). Para isso o MySQL tem(e faz muito tempo) … Read More →
Uma informação legal, mais do que legal, importante, mais do que importante, necessária! Quem nunca perguntou ou foi perguntado sobre qual o tamanho de um banco de dados ou de uma tabela? Quando as tabelas são MyISAM da para olhar o tamanho dos arquivos, ou se for InnoDB e estiver com o innodb_per_tables habilitada até … Read More →
Isso não é um tarefa normal muito menos rotineira. Porém
volta e meia me deparo com situações onde eu ou colegas
necessitam localizar algum valor no MySQL, porém sem fazer ideia
de em qual tabela se encontra.
Para isso desenvolvi essa procedure.
Ela se encarrega de procurar algum valor em todas as colunas de
todas.
Use com moderação, pois dependendo da quantidade de dados que você tiver, pode afetar o desempenho do servidor.
DELIMITER $ CREATE PROCEDURE sp_searchValueInDB(_P_VALUE_ varchar(100), _P_DB_ varchar(64), _P_TYPE_ ENUM('char', 'numeric', 'date')) BEGIN -- This procedure performs searches in all columns of a database. -- The execution performance will depend greatly on the size of your database. -- Contacts: Diego Hellas/diegohellas@gmail.com -- 2014-10-13 -- _P_VALUE_: what is sought -- _P_DB_: Database name for search -- _P_TYPE_: Type of data that will be fetched, it helps …[Leia mais]
Se tem algo que é extremamente chato de fazer, principalmente quando não existe online de um Banco de Dados, é localizar uma coluna no meio de dezenas de tabelas.
Com esse SELECT, você pode facilmente localizar as tabelas que contém alguma coluna com o nome que você precisa.
SELECT TABLE_SCHEMA AS DB, TABLE_NAME AS Tabela, COLUMN_NAME AS coluna FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'nome do seu database' AND COLUMN_NAME = 'nome da sua coluna'
Também pode user utilizado o operador LIKE no
lugar o =
Ex: AND COLUMN_NAME LIKE ‘%nome
da sua coluna%’
Eu uso muito esse SELECT, espero que ajude vocês também.