{"id":6757,"date":"2026-07-12T02:07:05","date_gmt":"2026-07-12T10:07:05","guid":{"rendered":"https:\/\/www.gudusoft.com\/mysql-data-lineage\/"},"modified":"2026-07-12T02:07:05","modified_gmt":"2026-07-12T10:07:05","slug":"mysql-data-lineage","status":"publish","type":"page","link":"https:\/\/www.gudusoft.com\/pt\/linhagem-de-dados-mysql\/","title":{"rendered":"MySQL Data Lineage: Rastreando a linhagem de colunas atrav\u00e9s de views e SQL ETL"},"content":{"rendered":"<p><strong>linhagem de dados MySQL<\/strong> \u00c9 o mapa, coluna por coluna, de como os dados fluem pelas suas views do MySQL. <code>INSERIR ... SELECIONAR<\/code> trabalhos e scripts ETL: quais colunas de origem alimentam cada coluna de destino e por meio de quais jun\u00e7\u00f5es, filtros e agrega\u00e7\u00f5es. O pr\u00f3prio MySQL n\u00e3o pode mostrar isso \u2014 <code>esquema_de_informa\u00e7\u00e3o<\/code> Descreve a estrutura, n\u00e3o o fluxo de dados. <a href=\"https:\/\/www.gudusoft.com\/pt\/ferramenta-de-linhagem-de-dados-sql\/\">Gudu SQLFlow<\/a> Constr\u00f3i a linhagem automaticamente, analisando seu SQL MySQL com um analisador de dialeto MySQL dedicado, produzindo um diagrama interativo e detalhado at\u00e9 as colunas individuais.<\/p>\n\n\n\n<div class=\"wp-block-group alignfull has-background is-layout-constrained\" style=\"background-color:#eef7fb;padding-top:24px;padding-bottom:24px\"><div class=\"wp-block-group__inner-container\">\n\n<p><strong>Veja isso no seu pr\u00f3prio SQL:<\/strong> Cole qualquer visualiza\u00e7\u00e3o do MySQL ou <code>INSERIR ... SELECIONAR<\/code> para dentro do <a href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=mysql-data-lineage\" target=\"_blank\" rel=\"noreferrer noopener\">Visualizador de linhagem SQLFlow gratuito<\/a>Selecione o dialeto MySQL e obtenha um diagrama de linhagem em n\u00edvel de coluna em segundos.<\/p>\n\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Por que information_schema n\u00e3o consegue fornecer a linhagem de dados do MySQL?<\/h2>\n\n\n\n<p>MySQL <code>esquema_de_informa\u00e7\u00e3o<\/code> \u00c9 um cat\u00e1logo estrutural. Ele lhe dir\u00e1 que <code>receita_di\u00e1ria<\/code> possui cinco colunas, quais s\u00e3o seus tipos e (via <code>USO DA COLUNA_CHAVE<\/code>) quais chaves estrangeiras apontam para onde. O que nunca lhe dir\u00e1 \u00e9 que <code>receita_di\u00e1ria.net<\/code> \u00e9 calculado a partir de <code>pedidos.quantidade<\/code> menos <code>pedidos.desconto<\/code>, filtrado em <code>pedidos.status<\/code>e agrupados por <code>clientes.regi\u00e3o<\/code>.<\/p>\n\n\n\n<p>Esse conhecimento sobre fluxo de dados reside em um \u00fanico lugar: o pr\u00f3prio texto SQL. Em um ambiente MySQL t\u00edpico, isso significa defini\u00e7\u00f5es de visualiza\u00e7\u00e3o (<code>information_schema.VIEWS<\/code> armazena o texto, mas nada o interpreta), o <code>INSERIR ... SELECIONAR<\/code> e <code>ATUALIZA\u00c7\u00c3O DE CHAVE DUPLICADA<\/code> instru\u00e7\u00f5es que seus trabalhos de ETL executam, express\u00f5es de colunas geradas em seu DDL e arquivos de consulta do lado do aplicativo. Para transformar esses elementos em linhagem, algo precisa analisar e resolver semanticamente o SQL \u2014 expandindo <code>SELECIONE *<\/code>O SQLFlow rastreia colunas atrav\u00e9s de jun\u00e7\u00f5es, subconsultas e pilhas de visualiza\u00e7\u00e3o. \u00c9 isso que ele faz.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Um exemplo pr\u00e1tico: uma tabela de relat\u00f3rios alimentada por INSERT-SELECT.<\/h2>\n\n\n\n<p>Eis o tipo de instru\u00e7\u00e3o que \u00e9 executada todas as noites em milhares de configura\u00e7\u00f5es de relat\u00f3rios com suporte MySQL \u2014 um upsert que agrega pedidos em uma tabela de resumo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>INSERT INTO daily_revenue (report_date, region, order_count, gross_revenue, net_revenue) SELECT o.order_date, c.region, COUNT(*), SUM(o.amount), SUM(o.amount - o.discount) FROM orders o JOIN customers c ON c.id = o.customer_id WHERE o.status = &#039;completed&#039; GROUP BY o.order_date, c.region ON DUPLICATE KEY UPDATE order_count = VALUES(order_count), gross_revenue = VALUES(gross_revenue), net_revenue = VALUES(net_revenue);<\/code><\/pre>\n\n\n\n<p>Execute isso no SQLFlow e ele extrair\u00e1, para cada coluna de destino, tanto as colunas que fornecem diretamente seu valor quanto as colunas que moldam o resultado sem interferir nele:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Coluna alvo<\/th><th>Fontes diretas<\/th><th>Influ\u00eancias indiretas (de impacto)<\/th><\/tr><\/thead><tbody>\n<tr><td><code>data_do_relat\u00f3rio_de_receita_di\u00e1ria<\/code><\/td><td><code>pedidos.data_do_pedido<\/code><\/td><td><code>pedidos.status<\/code><\/td><\/tr>\n<tr><td><code>receita_di\u00e1ria.regi\u00e3o<\/code><\/td><td><code>clientes.regi\u00e3o<\/code><\/td><td><code>clientes.id<\/code>, <code>pedidos.id_do_cliente<\/code>, <code>pedidos.status<\/code><\/td><\/tr>\n<tr><td><code>receita_di\u00e1ria.receita_bruta<\/code><\/td><td><code>pedidos.quantidade<\/code> via <code>SOMA()<\/code><\/td><td><code>pedidos.data_do_pedido<\/code>, <code>clientes.regi\u00e3o<\/code> (AGRUPAR POR), unir chaves, <code>pedidos.status<\/code><\/td><\/tr>\n<tr><td><code>receita_di\u00e1ria.net<\/code><\/td><td><code>pedidos.quantidade<\/code>, <code>pedidos.desconto<\/code> via <code>SOMA()<\/code><\/td><td>igual ao anterior<\/td><\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<p>A distin\u00e7\u00e3o na terceira coluna \u00e9 importante. <code>pedidos.status<\/code> nunca aparece em <code>receita_di\u00e1ria<\/code>No entanto, alterar a forma como \u00e9 preenchido altera todos os n\u00fameros no relat\u00f3rio. O SQLFlow modela isso. <strong>linhagem indireta<\/strong> (colunas usadas em <code>ONDE<\/code>, <code>JUNTAR<\/code>, e <code>AGRUPAR POR<\/code>) como um tipo de relacionamento separado e altern\u00e1vel no diagrama \u2014 a maioria das ferramentas de linhagem n\u00e3o faz essa distin\u00e7\u00e3o, e \u00e9 exatamente disso que voc\u00ea precisa para uma an\u00e1lise de impacto honesta.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Linhagem atrav\u00e9s de visualiza\u00e7\u00f5es MySQL \u2014 incluindo visualiza\u00e7\u00f5es empilhadas<\/h2>\n\n\n\n<p>As visualiza\u00e7\u00f5es s\u00e3o onde as ferramentas de linhagem em n\u00edvel de tabela silenciosamente desistem. Um painel de BI exibe: <code>v_regional_kpis<\/code>, que seleciona de <code>v_pedidos_conclu\u00eddos<\/code>, que seleciona de <code>pedidos<\/code> e <code>clientes<\/code>Para responder \u00e0 pergunta \u201co que alimenta esta coluna do painel?\u201d, o mecanismo de linhagem deve resolver as refer\u00eancias de coluna em todas as camadas da pilha de visualiza\u00e7\u00e3o, expandindo qualquer <code>SELECIONE *<\/code> contra as defini\u00e7\u00f5es subjacentes e levar as transforma\u00e7\u00f5es adiante.<\/p>\n\n\n\n<p>O SQLFlow resolve refer\u00eancias de colunas por meio de views, CTEs, subconsultas e expans\u00e3o em estrela como parte de sua an\u00e1lise sem\u00e2ntica. Ao apont\u00e1-lo para seu esquema via JDBC, ele extrai o DDL e as defini\u00e7\u00f5es de view automaticamente, de modo que o grafo de linhagem reflita as views como elas realmente existem no banco de dados, e n\u00e3o como existem em uma pasta de migra\u00e7\u00e3o desatualizada.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Colunas geradas: linhagem dentro de uma \u00fanica tabela<\/h2>\n\n\n\n<p>As colunas geradas pelo MySQL incorporam o fluxo de dados diretamente no DDL:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE TABLE order_items ( quantity INT, unit_price DECIMAL(10,2), line_total DECIMAL(12,2) AS (quantity * unit_price) STORED );<\/code><\/pre>\n\n\n\n<p><code>total_da_linha<\/code> nunca \u00e9 escrito por nenhum INSERT, portanto, qualquer abordagem que apenas observe o DML ignora completamente sua origem. Como o SQLFlow analisa a express\u00e3o da coluna gerada como SQL, <code>total_da_linha<\/code> obt\u00e9m arestas de linhagem adequadas de <code>quantidade<\/code> e <code>pre\u00e7o_unit\u00e1rio<\/code>e qualquer coisa a jusante que leia <code>total_da_linha<\/code> tudo remonta \u00e0quelas duas colunas f\u00edsicas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Como construir uma linhagem MySQL com o SQLFlow<\/h2>\n\n\n\n<ol><li><strong>Colete o SQL.<\/strong> Cole declara\u00e7\u00f5es ou carregue arquivos em <a href=\"https:\/\/www.gudusoft.com\/pt\/sqlflow-nuvem\/\">Nuvem SQLFlow<\/a>Ou conecte sua inst\u00e2ncia MySQL via JDBC para que o SQLFlow leia o DDL e as defini\u00e7\u00f5es de visualiza\u00e7\u00e3o diretamente. Usu\u00e1rios do dbt podem importar o manifesto do dbt.<\/li>\n<li><strong>Analise com o dialeto MySQL.<\/strong> O SQLFlow usa um analisador sint\u00e1tico MySQL espec\u00edfico para cada dialeto (um dos 39 analisadores sint\u00e1ticos de dialetos, n\u00e3o uma gram\u00e1tica ANSI gen\u00e9rica), portanto, constru\u00e7\u00f5es espec\u00edficas do MySQL como <code>ATUALIZA\u00c7\u00c3O DE CHAVE DUPLICADA<\/code>Identificadores entre crases e colunas geradas s\u00e3o analisados corretamente, em vez de serem ignorados.<\/li>\n<li><strong>Explorar e exportar.<\/strong> Rastreie qualquer coluna a montante ou a jusante no diagrama interativo, ative e desative a linhagem indireta e exporte o gr\u00e1fico como JSON, CSV ou PNG \u2014 ou obtenha-o programaticamente por meio da API REST. Desde a vers\u00e3o 8.2.3, voc\u00ea tamb\u00e9m pode fazer perguntas em ingl\u00eas simples (\u201cquais relat\u00f3rios dependem de\u2026\u201d). <code>clientes.regi\u00e3o<\/code>?\u201d); cada tabela e coluna citada pela IA \u00e9 validada em rela\u00e7\u00e3o ao gr\u00e1fico analisado antes de ser exibida.<\/li><\/ol>\n\n\n\n<p>O motor embaixo \u00e9 <a href=\"https:\/\/www.sqlparser.com\/\">Analisador SQL geral<\/a>, um front-end comercial para compilador SQL desenvolvido desde meados dos anos 2000 e validado com aproximadamente 13.600 conjuntos de teste SQL por dialeto. A qualidade da linhagem \u00e9 um problema de an\u00e1lise sint\u00e1tica antes de qualquer outra coisa, e esse corpus de regress\u00e3o \u00e9 o que impede que o MySQL do mundo real \u2014 com todas as suas peculiaridades de dialeto \u2014 desapare\u00e7a silenciosamente do grafo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">E quanto \u00e0s op\u00e7\u00f5es de linhagem MySQL de c\u00f3digo aberto?<\/h2>\n\n\n\n<p>Analisadores de c\u00f3digo aberto como <code>linhagem sql<\/code> e <code>sqlglot<\/code> O MySQL lida bem com instru\u00e7\u00f5es SELECT e INSERT individuais e, se voc\u00ea precisar de linhagem para algumas consultas simples em um pipeline Python, \u00e9 um bom ponto de partida. Plataformas de cat\u00e1logo como DataHub e OpenMetadata s\u00e3o excelentes em organizar e exibir a linhagem depois que ela existe. A lacuna surge na gera\u00e7\u00e3o de linhagem precisa a partir de SQL r\u00edgido em grande escala: resolu\u00e7\u00e3o de colunas por meio de visualiza\u00e7\u00f5es empilhadas usando metadados de esquema em tempo real, distin\u00e7\u00e3o entre linhagem direta e indireta, expans\u00e3o <code>SELECIONE *<\/code> corretamente e em milhares de scripts. O SQLFlow se concentra nesse problema de extra\u00e7\u00e3o e, em seguida, envia os resultados para os cat\u00e1logos por meio de seus adaptadores de exporta\u00e7\u00e3o para DataHub, Microsoft Purview e OpenMetadata.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Quando o MySQL \u00e9 apenas parte do cen\u00e1rio.<\/h2>\n\n\n\n<p>O MySQL raramente \u00e9 a solu\u00e7\u00e3o completa. Muitas vezes, ele \u00e9 a fonte OLTP que alimenta um data warehouse, ou um dos v\u00e1rios mecanismos que uma camada ETL utiliza. O SQLFlow analisa 39 dialetos SQL com a mesma an\u00e1lise em n\u00edvel de coluna, abrangendo desde o MySQL at\u00e9 o Snowflake, BigQuery ou outros. <a href=\"https:\/\/www.gudusoft.com\/pt\/linhagem-de-dados-postgresql\/\">PostgreSQL<\/a> reside em um \u00fanico grafo. Implanta\u00e7\u00f5es corporativas realizam varreduras em lote de conjuntos de mais de 100 bancos de dados e mais de um milh\u00e3o de colunas, com varreduras incrementais e um reposit\u00f3rio de linhagem persistente. Para equipes que n\u00e3o podem permitir que o texto SQL saia de sua rede, <a href=\"https:\/\/www.gudusoft.com\/pt\/sqlflow-on-premise-versao\/\">SQLFlow no local<\/a> Executa em Docker ou Kubernetes, totalmente isolado da internet.<\/p>\n\n\n\n<p>Para ver como a sa\u00edda se apresenta em uma variedade de instru\u00e7\u00f5es reais \u2014 inser\u00e7\u00f5es com m\u00faltiplas jun\u00e7\u00f5es, pilhas de visualiza\u00e7\u00e3o, procedimentos armazenados \u2014 navegue at\u00e9 <a href=\"https:\/\/www.gudusoft.com\/pt\/exemplos-de-linhagem-de-dados\/\">exemplos de linhagem de dados<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Perguntas frequentes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">A cria\u00e7\u00e3o de um perfil MySQL requer acesso aos meus dados?<\/h3>\n\n\n<p>N\u00e3o. O SQLFlow realiza an\u00e1lises est\u00e1ticas do c\u00f3digo SQL e, opcionalmente, dos metadados do esquema, como defini\u00e7\u00f5es de tabelas e visualiza\u00e7\u00f5es. Ele nunca l\u00ea os dados das linhas da tabela. Na edi\u00e7\u00e3o On-Premise, at\u00e9 mesmo o texto SQL permanece dentro da sua rede.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">O SQLFlow consegue rastrear a linhagem atrav\u00e9s de INSERT \u2026 SELECT \u2026 ON DUPLICATE KEY UPDATE?<\/h3>\n\n\n<p>Sim. O analisador sint\u00e1tico do dialeto MySQL analisa a instru\u00e7\u00e3o completa: cada coluna de destino \u00e9 vinculada \u00e0s colunas de origem no SELECT, incluindo express\u00f5es dentro de agrega\u00e7\u00f5es, e a cl\u00e1usula upsert \u00e9 tratada como parte do mesmo fluxo de dados.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">O information_schema cont\u00e9m informa\u00e7\u00f5es de linhagem?<\/h3>\n\n\n<p>N\u00e3o. <code>esquema_de_informa\u00e7\u00e3o<\/code> A linhagem descreve a estrutura: tabelas, colunas, tipos, chaves e o texto bruto das defini\u00e7\u00f5es de visualiza\u00e7\u00e3o. Ela n\u00e3o interpreta nenhum SQL, portanto, n\u00e3o pode informar quais colunas de origem alimentam uma determinada coluna de destino. A linhagem requer a an\u00e1lise da visualiza\u00e7\u00e3o e do SQL DML, que \u00e9 o que o SQLFlow faz.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Como o SQLFlow lida com o comando SELECT * em views do MySQL?<\/h3>\n\n\n<p>O SQLFlow se expande <code>SELECIONE *<\/code> em rela\u00e7\u00e3o ao esquema real (obtido via JDBC ou fornecido como DDL), de modo que cada coluna que flui atrav\u00e9s da estrela recebe sua pr\u00f3pria aresta de linhagem em vez de uma seta vaga de tabela para tabela.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Existe alguma maneira gratuita de experimentar o MySQL Data Lineage?<\/h3>\n\n\n<p>Sim. O SQLFlow Cloud possui um plano gratuito: cole o c\u00f3digo SQL do MySQL no navegador e obtenha o diagrama em n\u00edvel de coluna imediatamente. O plano Premium custa \u00a349,99\/m\u00eas; o plano On-Premise custa \u00a3500\/m\u00eas ou \u00a34.800 (pagamento \u00fanico) por tipo de banco de dados selecionado \u2014 consulte <a href=\"https:\/\/www.gudusoft.com\/pt\/precos\/\">pre\u00e7os<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Posso exportar a linhagem do MySQL para o meu cat\u00e1logo de dados?<\/h3>\n\n\n<p>Sim. Exporte como JSON, CSV ou PNG, consulte a API REST ou use os adaptadores de exporta\u00e7\u00e3o integrados para DataHub, Microsoft Purview e OpenMetadata em implanta\u00e7\u00f5es corporativas.<\/p>\n\n\n\n<div class=\"wp-block-group alignfull has-background is-layout-constrained\" style=\"background-color:#60d5f6;padding-top:32px;padding-bottom:32px\"><div class=\"wp-block-group__inner-container\">\n\n<h2 class=\"wp-block-heading\">Mapeie agora o seu fluxo de dados MySQL.<\/h2>\n\n\n<p>Cole uma view ou um comando INSERT-SELECT no visualizador gratuito ou entre em contato conosco para que possamos analisar todo o seu ambiente MySQL.<\/p>\n\n\n<div class=\"wp-block-buttons is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=mysql-data-lineage\" target=\"_blank\" rel=\"noreferrer noopener\">Experimente o SQLFlow gratuitamente<\/a><\/div>\n<\/div>\n\n\n<div class=\"wp-block-buttons is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.gudusoft.com\/pt\/contato\/\">Solicite uma demonstra\u00e7\u00e3o empresarial<\/a><\/div>\n<\/div>\n\n<\/div><\/div>\n\n\n\n<script type=\"application\/ld+json\">{\n    \"@context\": \"https:\\\/\\\/schema.org\",\n    \"@graph\": [\n        {\n            \"@type\": \"SoftwareApplication\",\n            \"name\": \"Gudu SQLFlow\",\n            \"applicationCategory\": \"DeveloperApplication\",\n            \"applicationSubCategory\": \"SQL Data Lineage Tool\",\n            \"operatingSystem\": \"Web, Linux, Windows, macOS\",\n            \"url\": \"https:\\\/\\\/www.gudusoft.com\\\/mysql-data-lineage\\\/\",\n            \"description\": \"Automated MySQL data lineage: SQLFlow parses MySQL views, INSERT-SELECT ETL, and generated columns with a dedicated MySQL dialect parser to produce interactive column-level lineage diagrams.\",\n            \"featureList\": \"MySQL dialect parser, column-level lineage, indirect\\\/impact lineage, view resolution, SELECT * expansion, generated column lineage, JDBC metadata import, REST API, DataHub\\\/Purview\\\/OpenMetadata export\",\n            \"softwareVersion\": \"8.2.3\",\n            \"offers\": [\n                {\n                    \"@type\": \"Offer\",\n                    \"name\": \"SQLFlow Cloud Free\",\n                    \"price\": \"0\",\n                    \"priceCurrency\": \"USD\"\n                },\n                {\n                    \"@type\": \"Offer\",\n                    \"name\": \"SQLFlow Cloud Premium\",\n                    \"price\": \"49.99\",\n                    \"priceCurrency\": \"USD\",\n                    \"priceSpecification\": {\n                        \"@type\": \"UnitPriceSpecification\",\n                        \"price\": \"49.99\",\n                        \"priceCurrency\": \"USD\",\n                        \"billingIncrement\": 1,\n                        \"unitText\": \"MONTH\"\n                    }\n                },\n                {\n                    \"@type\": \"Offer\",\n                    \"name\": \"SQLFlow On-Premise\",\n                    \"price\": \"4800\",\n                    \"priceCurrency\": \"USD\"\n                }\n            ],\n            \"publisher\": {\n                \"@type\": \"Organization\",\n                \"name\": \"Gudu Software\",\n                \"url\": \"https:\\\/\\\/www.gudusoft.com\\\/\"\n            }\n        },\n        {\n            \"@type\": \"FAQPage\",\n            \"mainEntity\": [\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Does building MySQL lineage require access to my data?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"No. SQLFlow performs static analysis of SQL code and, optionally, schema metadata such as table and view definitions. It never reads table row data. With the On-Premise edition, even the SQL text stays inside your network.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Can SQLFlow trace lineage through INSERT ... SELECT ... ON DUPLICATE KEY UPDATE?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes. The MySQL dialect parser analyzes the full statement: each target column is linked to the source columns in the SELECT, including expressions inside aggregates, and the upsert clause is handled as part of the same dataflow.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Does information_schema contain lineage information?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"No. information_schema describes structure: tables, columns, types, keys, and the raw text of view definitions. It does not interpret any SQL, so it cannot tell you which source columns feed a given target column. Lineage requires parsing the view and DML SQL, which is what SQLFlow does.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"How does SQLFlow handle SELECT * in MySQL views?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"SQLFlow expands SELECT * against the actual schema, pulled over JDBC or supplied as DDL, so every column that flows through the star gets its own lineage edge instead of one vague table-to-table arrow.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Is there a free way to try MySQL data lineage?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes. SQLFlow Cloud has a free tier: paste MySQL SQL in the browser and get the column-level diagram immediately. Premium is $49.99\\\/month; On-Premise is $500\\\/month or $4,800 one-time per selected database type.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Can I export the MySQL lineage into my data catalog?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes. Export as JSON, CSV, or PNG, query the REST API, or use the built-in export adapters for DataHub, Microsoft Purview, and OpenMetadata in enterprise deployments.\"\n                    }\n                }\n            ]\n        }\n    ]\n}<\/script>","protected":false},"excerpt":{"rendered":"<p>MySQL data lineage is the column-by-column map of how data flows through your MySQL views, INSERT &#8230; SELECT jobs, and ETL scripts: which source columns feed each target column, and through which joins, filters, and aggregations. MySQL itself cannot show you this \u2014 information_schema describes structure, not dataflow. Gudu SQLFlow builds the lineage automatically by parsing your MySQL SQL with a dedicated MySQL dialect parser, producing an interactive, drillable diagram down to individual columns. See it on your own SQL: paste any MySQL view or INSERT &#8230; SELECT into the free SQLFlow lineage visualizer, pick the MySQL dialect, and get\u2026<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":5}},"_links":{"self":[{"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/pages\/6757"}],"collection":[{"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/comments?post=6757"}],"version-history":[{"count":0,"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/pages\/6757\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/media?parent=6757"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}