Dados e conexõesGuia

O workbench SQL

O workbench é um cliente de banco dentro do projeto. Abra uma conexão PostgreSQL ou MySQL e você ganha as tabelas numa árvore, abas de query com autocomplete a partir do schema real, uma grade onde você edita linhas e aplica tudo como um lote revisado, e um histórico que desfaz o que rodou.

9 min de leituraAntes: IntegraçõesAbrir no Waiso
O que você vai aprender
  • Abrir o workbench e rodar uma query numa aba
  • Navegar por uma tabela, filtrar e editar linhas com uma aplicação revisada
  • Entender os avisos que uma query recebe e por quê
  • Encontrar e reverter operações passadas no histórico

Como o workbench é organizado

Em Integrações, o Abrir de um card de banco leva ao workbench dele. À esquerda fica a árvore do schema — Tabelas aberta por padrão, Views, Functions e Procedures recolhidas — com uma busca e Atualizar schema. No meio ficam as abas, e uma gaveta de histórico abre à direita.

docs-demoIntegraçõesshop_dbHistórico
shop_dbpostgres / docs_demo
Tabelas2
customers5
orders12
Views0
Funções0
Procedures0
customers
Adicionar linha
1SELECT *2FROM customers3LIMIT 100;
5 linhas · 4 msExecutar Ctrl ↵
A árvore do schema à esquerda, uma aba de tabela aberta no meio, com a barra de filtro e o limite de linhas acima da grade.
AbaAberta porO que mostra
Query+ → Nova queryUm editor SQL e a grade de resultado abaixo
Tabela / viewClicar numa tabela ou view na árvore, ou escolher no menu +As linhas com filtro, colunas, ordenação e edição
RotinaClicar numa function ou procedureA definição, uma grade de parâmetros e um botão de executar

O menu + também busca tabelas, views, functions e procedures pelo nome, então um schema grande fica a uma tecla de distância. Na primeira visita, o workbench já abre a primeira tabela sozinho.

Rode uma query

  1. Abra uma aba de query

    Clique em + e em Nova query. O editor completa nomes de tabelas e colunas a partir do schema carregado.

  2. Escreva e rode

    Clique em Rodar ou use Ctrl+Enter (⌘+Enter no Mac). A grade mostra as linhas, a contagem e o tempo que o banco levou.

  3. Leia os avisos

    Acima da grade, linhas amarelas dizem o que pode deixar a query cara. Elas nunca impedem a execução.

SQLtop-customers.sql
SELECT c.name, COUNT(o.id) AS orders, SUM(o.total) AS revenue
FROM customers c
JOIN orders o ON o.customer_id = c.id
WHERE o.created_at >= now() - interval '30 days'
GROUP BY c.name
ORDER BY revenue DESC
LIMIT 20;

Navegue e edite uma tabela

Uma aba de tabela lê a tabela com um Filtro (coluna, operador, valor), um seletor Exibir para as colunas que você quer, ordenação clicando no cabeçalho e um Limite de 50, 100, 200 ou 500 linhas — 100 por padrão. Ver SQL mostra o SELECT exato que ela envia.

Edições esperam até você aplicar

  1. Mude o que precisar

    Clique duas vezes numa célula para editar, use Adicionar linha (o formulário marca os campos obrigatórios e deixa uma chave autoincremento ser gerada), ou selecione linhas e exclua. Nada é gravado ainda: cada mudança fica destacada, e uma barra mostra Editing · 3 changes.

  2. Revise o SQL

    Clique em Apply. Uma confirmação mostra SQL to be executed — cada INSERT, UPDATE e DELETE montado a partir das suas edições.

  3. Aplique ou cancele

    Apply changes roda o lote e recarrega a aba; Cancelar na barra descarta todas as edições pendentes.

O menu de clique direito da árvore cria e muda a estrutura: Edit table abre o editor de tabela (colunas, tipos, chave primária, obrigatório, padrão, chaves estrangeiras, índices) com o SQL gerado visível antes de aplicar; Truncate data e Delete table pedem confirmação.

Avisos e limite de linhas

Toda query é lida antes de rodar e cronometrada depois. A resposta traz uma lista de avisos — vazia quando a query está limpa — e o workbench sempre mostra todos:

A query…Aviso
não tem LIMITQuery has no LIMIT clause — this may return a very large result set
pede mais de 500 linhasQuery LIMIT 1000 exceeds the maximum of 500 rows
usa CROSS JOINQuery contains CROSS JOIN which may produce a very large result set
tem três ou mais JOINsQuery contains 3 JOINs — consider whether all are necessary
levou mais de 3 s / 8 sQuery took 4210ms (>3s) / (>8s)

O limite só envolve leituras simples (SELECT e WITH). Comandos que gravam — INSERT, UPDATE, DELETE, CREATE, ALTER, DROP — rodam como foram escritos.

Histórico e reversão

O botão Query history abre todas as operações rodadas nesta conexão, das mais novas para as mais antigas, com o status (Succeeded, Failed, Reverted), o horário e What was executed. O histórico fica guardado no servidor por conexão — as últimas 200 entradas — então um colega que abrir o mesmo workbench também vê.

  • Edições de linhas, inserções, exclusões, truncates e tabelas removidas registram o SQL que as desfaz. Essa entrada aparece marcada como Revertible.
  • Reverter mostra antes Revert SQL to be executed; confirmar roda o comando e cria uma entrada nova marcada com ↩, ligada à original.
  • Uma reversão restaura dados, não o tempo: linhas que outro processo mudou no meio não são mescladas.

Limites e acesso

  • Só PostgreSQL e MySQL. Conexões S3 abrem o navegador de arquivos.
  • Rodar queries exige acesso Editar em Integrações no projeto; veja Acesso do time.
  • O MySQL esconde o corpo de uma rotina de quem não é o DEFINER dela. Conceda ALTER ROUTINE ao usuário da conexão para ler as definições.