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.
- 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.
1SELECT *2FROM customers3LIMIT 100;| Aba | Aberta por | O que mostra |
|---|---|---|
| Query | + → Nova query | Um editor SQL e a grade de resultado abaixo |
| Tabela / view | Clicar numa tabela ou view na árvore, ou escolher no menu + | As linhas com filtro, colunas, ordenação e edição |
| Rotina | Clicar numa function ou procedure | A 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
- Abra uma aba de query
Clique em + e em Nova query. O editor completa nomes de tabelas e colunas a partir do schema carregado.
- 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.
- Leia os avisos
Acima da grade, linhas amarelas dizem o que pode deixar a query cara. Elas nunca impedem a execução.
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
- 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.
- Revise o SQL
Clique em Apply. Uma confirmação mostra SQL to be executed — cada
INSERT,UPDATEeDELETEmontado a partir das suas edições. - 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 LIMIT | Query has no LIMIT clause — this may return a very large result set |
| pede mais de 500 linhas | Query LIMIT 1000 exceeds the maximum of 500 rows |
usa CROSS JOIN | Query contains CROSS JOIN which may produce a very large result set |
tem três ou mais JOINs | Query contains 3 JOINs — consider whether all are necessary |
| levou mais de 3 s / 8 s | Query 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 ROUTINEao usuário da conexão para ler as definições.