Banco de dados (console SQL)
A seção Banco de dados transforma o Context Code em um cliente multimotor completo: explorador de objetos no estilo do SSMS, editor de scripts com abas, diagramas ER, histórico, cópias de segurança e um assistente de IA que entende o seu esquema.
Motores suportados
Seção intitulada “Motores suportados”PostgreSQL, MySQL / MariaDB, SQLite, SQL Server, Oracle e MongoDB.
Conectar um banco de dados
Seção intitulada “Conectar um banco de dados”- Abra Banco de dados na cápsula superior (ou Abrir SQL Console) e clique em Nova Conexão.
- Escolha o Motor e preencha os dados: servidor/host, porta, usuário, senha e banco de dados; o caminho do arquivo (
.db/.sqlite) se for SQLite; Service name / SID se for Oracle. Para servidores com TLS há o modo SSL (MySQL e PostgreSQL) e «Confiar no certificado do servidor» (SQL Server). - Testar Conexão confirma que os dados estão corretos; Salvar Conexão a guarda nas suas Conexões Salvas.
Cada aba de script lembra a sua própria conexão (Ctrl+Shift+S) e o seu próprio banco (Ctrl+Shift+D).
A sua sessão não se perde ao trocar de seção
Seção intitulada “A sua sessão não se perde ao trocar de seção”Você pode ir para o chat, para o editor ou para o modo Developer e voltar: o console continua exatamente como você o deixou — a conexão e o banco ativos, a árvore do explorador já expandida, as suas abas de script (que ainda sobrevivem ao reinício do app), o cursor, o scroll e o desfazer de cada script.
Ao voltar, o app verifica a conexão por baixo dos panos e, se o servidor a tiver fechado, reconecta sozinho sem dizer nada.
Conexões que não caem
Seção intitulada “Conexões que não caem”Para SQL Server e Oracle há um batimento a cada dois minutos que mantém a sessão viva. E se uma execução falhar por um erro de conexão (a rede caiu, o servidor reiniciou), o app reabre e tenta de novo uma única vez. Os erros de SQL — uma coluna escrita errada, uma restrição violada — não são repetidos: repetir um INSERT às cegas seria pior que o erro.
Executar scripts e lotes
Seção intitulada “Executar scripts e lotes”- F5 ou ▶ executa o script inteiro, ou só o que você tiver selecionado; Ctrl+Enter executa a instrução onde está o cursor.
- O script é enviado instrução por instrução, então você recebe um painel de resultados para cada
SELECTe pode navegar entre eles. - Se algo falhar, a mensagem situa você: «Lote 3/7 (linha 42 do script)».
Separadores de lote por motor
Seção intitulada “Separadores de lote por motor”| Motor | Separador | Detalhe |
|---|---|---|
| SQL Server | GO | Só conta se estiver em uma linha própria. Aceita GO 5 para repetir o lote 5 vezes e um comentário -- depois. Não divide nada que esteja dentro de strings, identificadores ou comentários. |
| Oracle | / | Em uma linha própria. |
| PostgreSQL, MySQL/MariaDB, SQLite, MongoDB | — | Sem separador de lote. |
Todos os lotes vão pela mesma conexão, então o USE, as tabelas temporárias e as transações são conservados de um lote para o seguinte.
Scripts que tocam em vários bancos
Seção intitulada “Scripts que tocam em vários bancos”- SQL Server: o console antepõe o
USE [banco]do seletor e aceita nomes de três partes (banco.esquema.tabela). Se o script nomear um banco diferente do contexto, ele avisa — «O script nomeia o banco X, mas o contexto é Y» — e oferece Reescrever para Y ou Remover prefixos de banco. - PostgreSQL: abre uma conexão temporária para cada banco que o script precisar.
- MySQL: é preciso qualificar com
banco.tabela.
Explorar o esquema
Seção intitulada “Explorar o esquema”O Pesquisador de Objetos é uma árvore única no estilo do SSMS: Bancos de dados, Diagramas, Tabelas (inclusive as do sistema, externas e de grafos), Views, Sinônimos, Programação (Procedimentos, Funções), Repositório de consultas, Service Broker, Armazenamento, Segurança, e dentro de cada tabela as suas Colunas, Índices e Estatísticas. Tem filtro, expandir/recolher tudo, atualizar e copiar a string de conexão.
O menu de contexto traz os atalhos de sempre: consultar as primeiras 100 linhas, gerar INSERT / UPDATE / DELETE, criar ou excluir um banco, criar tabela, abrir o Diagrama ER ou o Modelo de Dados, copiar o nome (simples ou qualificado), fazer USE, abrir uma nova consulta aqui, cópia de segurança, restaurar e gerar scripts.
Resultados
Seção intitulada “Resultados”Abas Resultados e Mensagens, com linhas retornadas ou afetadas e o tempo de execução. Ctrl+R esconde ou mostra o painel.
Um script longo abre uma aba Resultado N para cada consulta que retorna linhas. As instruções de contexto — USE, SET, DECLARE — não abrem aba: antes elas sujavam o painel com resultados vazios que era preciso ir pulando. Cada aba tem o seu X para fechá-la, e há «Fechar todos os resultados» para deixar o painel limpo de uma vez.
Selecionar linhas e copiá-las
Seção intitulada “Selecionar linhas e copiá-las”A grade funciona como uma planilha:
| Para | Faça |
|---|---|
| Selecionar uma linha | Clique nela |
| Adicionar ou remover linhas avulsas | Ctrl + clique |
| Selecionar um intervalo | Shift + clique |
| Selecionar tudo | A caixa do cabeçalho, ou Ctrl+A |
| Limpar a seleção | Esc |
Ctrl+C copia como TSV, que é o que o Excel e o Google Sheets colam em colunas sem perguntar nada.
O menu de contexto dá as demais formas de extrair os dados:
- Copiar linha(s) e Copiar com cabeçalhos
- Copiar como CSV
- Copiar como INSERT — pergunta o nome da tabela de destino
- Copiar célula
- Selecionar tudo e Limpar seleção
- Uma configuração: «Copiar NULL como o texto «NULL»», para quando o destino não distingue um nulo de uma célula vazia
Cada consulta executada fica no histórico, que persiste entre sessões.
Diagramas ER
Seção intitulada “Diagramas ER”Diagramas entidade-relacionamento com três disposições automáticas — grade, hierárquica e radial —, visão só de chaves, quadrícula, reordenação à mão e zoom. Você pode ter vários diagramas por banco: adicionar tabelas, renomeá-los, duplicá-los, excluí-los e salvá-los; ficam armazenados no banco local do app.
O assistente de IA
Seção intitulada “O assistente de IA”Com Ctrl+I você abre o assistente dentro do console. Ele sabe qual conexão e qual banco você tem na frente, e pode explicar uma consulta, otimizá-la, convertê-la para outro dialeto ou detectar erros; o resultado é aplicado ao script ou inserido no cursor.
Também sabe trabalhar em ciclo — gerar, executar, corrigir — até oito tentativas. O que ele pode fazer sem perguntar é você quem decide em Permissões (logo abaixo): distingue leitura de escrita e de operação destrutiva, e avisa quando algo parece irreversível ou quando a conexão parece de produção.
Cópias, restauração e scripts
Seção intitulada “Cópias, restauração e scripts”Cada motor com as suas ferramentas próprias: BACKUP / RESTORE no SQL Server, pg_dump / pg_restore no PostgreSQL, mysqldump no MySQL, VACUUM INTO no SQLite, mongodump no MongoDB e expdp / impdp no Oracle. A geração de scripts aceita DROP IF EXISTS, índices, chaves estrangeiras e quantas linhas por INSERT, e escreve o resultado em uma aba nova ou em um arquivo.
Permissões do agente, por conexão
Seção intitulada “Permissões do agente, por conexão”Você decide o que o assistente pode fazer em cada banco de dados. No cabeçalho do chat da conexão há um botão Permissões do agente nesta conexão com o resumo do que está em vigor; ao abri-lo você verá:
O que o assistente pode fazer em “sua conexão”. O que estiver desligado é recusado antes de tocar no banco.
Essa frase é literal: o que foi negado não chega ao banco de dados. Não é um aviso, é um freio.
Os três presets
Seção intitulada “Os três presets”| Preset | O que deixa fazer |
|---|---|
| Somente leitura | O de fábrica. Ler dados e ver o esquema, nada mais. Cada gravação pediria confirmação. |
| Desenvolvimento | Além disso grava, apaga, cria e altera objetos, executa rotinas, transações e exporta. Não destrói objetos (DROP). Tolera até 100 linhas afetadas sem perguntar. |
| Administrador | Tudo, inclusive DROP, com um teto de 1000 linhas sem perguntar. |
Se você mexer em um interruptor avulso, o preset passa a se chamar Personalizado.
Os interruptores
Seção intitulada “Os interruptores”| Interruptor | O que cobre |
|---|---|
| Ler dados (SELECT) | Consultas que retornam linhas. |
| Ver esquema | Tabelas, colunas e relações. |
| Gravar dados (INSERT/UPDATE) | Adiciona ou altera linhas. |
| Apagar dados (DELETE/TRUNCATE) | Remove linhas das tabelas. |
| Alterar esquema (CREATE/ALTER) | Cria ou modifica objetos. |
| Destruir objetos (DROP) | Irreversível: apaga tabelas inteiras. |
| Executar procedimentos e funções | EXEC, CALL e blocos armazenados. |
| Transações | BEGIN, COMMIT, ROLLBACK, SAVEPOINT. |
| Commit automático | Se desligado, cada COMMIT é confirmado. |
| Exportar para arquivo | Grava resultados ou cópias em disco (INTO OUTFILE, COPY … TO, BACKUP). |
| Perguntar antes de cada gravação | Nada é executado sem sua aprovação. |
E um número: Máximo de linhas afetadas sem confirmação (0 = perguntar sempre).
As permissões são salvas por conexão, dentro do mesmo banco criptografado do aplicativo. Se a conexão não foi salva, elas são lembradas por motor e etiqueta.
O que o assistente faz com elas
Seção intitulada “O que o assistente faz com elas”Antes de cada leitura de esquema, amostra de dados ou execução, o assistente consulta as permissões:
- O que foi negado nem é tentado, e o modelo explica em vez de falhar às cegas: «não tenho permissão para apagar nesta conexão; ative em Permissões».
- O que exige confirmação diz por quê e, quando dá para medir, quantas linhas vai tocar.
- Se você editar o SQL no diálogo de confirmação, o texto que ficou é validado de novo, não o original.
- O irreversível é confirmado sempre, mesmo com a permissão concedida.
- Um script misto é negado inteiro se uma única instrução dele estiver proibida: não é executado «até onde der».
A classificação é por motor — PostgreSQL, MySQL/MariaDB, SQL Server (com GO), SQLite, Oracle (com /) e MongoDB — e ignora strings, comentários e identificadores entre aspas, então um DELETE dentro de um literal não conta. Também reconhece os disfarces habituais: WITH … DELETE, SELECT … INTO, MERGE e o corpo de um procedimento.