O Painel Nobregas MySQL suporta a execução de múltiplas instruções SQL de uma vez. Separe cada instrução com um ponto e vírgula e o painel executá-las-á sequencialmente, retornando resultados para cada uma.
Como Funciona a Execução Multi-Instrução
Quando introduz múltiplas instruções SQL separadas por ponto e vírgula, o painel:
- Divide a sua entrada em instruções individuais.
- Executa cada instrução por ordem contra a base de dados selecionada.
- Retorna o resultado da última instrução (ou um resumo combinado de resultados).
Escrever Múltiplas Instruções
Separe cada instrução com um ponto e vírgula (;). Pode colocá-las numa linha ou em múltiplas linhas:
Linha Única
INSERT INTO logs (msg) VALUES ('start'); SELECT * FROM logs;
Multi-Linha (Recomendado)
INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');
INSERT INTO users (name, email) VALUES ('Bob', 'bob@example.com');
SELECT * FROM users ORDER BY id DESC LIMIT 5;
Casos de Uso Comuns de Multi-Instrução
Inserir Múltiplas Linhas
INSERT INTO products (name, price) VALUES ('Widget A', 9.99);
INSERT INTO products (name, price) VALUES ('Widget B', 14.99);
INSERT INTO products (name, price) VALUES ('Widget C', 24.99);
Configurar e Verificar
CREATE TABLE IF NOT EXISTS temp_data (id INT AUTO_INCREMENT PRIMARY KEY, value TEXT);
INSERT INTO temp_data (value) VALUES ('test');
SELECT * FROM temp_data;
Operações de Limpeza
DELETE FROM sessions WHERE expires_at < NOW();
DELETE FROM tokens WHERE created_at < DATE_SUB(NOW(), INTERVAL 30 DAY);
SELECT 'Limpeza concluída' AS estado;
Considerações Importantes
Ordem de Execução
As instruções executam sequencialmente de cima para baixo. Se a Instrução 2 depender da Instrução 1 (ex.: inserir e depois selecionar), serão executadas na ordem correta.
Tratamento de Erros
Se qualquer instrução falhar, a execução para nesse ponto. Instruções anteriores ao erro já foram aplicadas. Instruções posteriores ao erro não são executadas. Verifique a mensagem de erro para identificar qual instrução falhou.
Sem Transações
Cada instrução é auto-committed. Não existe transação implícita a envolver múltiplas instruções. Se a terceira de cinco instruções falhar, as duas primeiras já foram committed e não podem ser revertidas.
Apresentação de Resultados
O painel de resultados da consulta tipicamente mostra a saída da última instrução SELECT ou um resumo de linhas afetadas de todas as instruções.
Dicas para Consultas Multi-Instrução
- Termine sempre com um SELECT se quiser ver resultados após modificações.
- Teste instruções individualmente antes de as combinar, especialmente as destrutivas.
- Use comentários para organizar scripts multi-instrução complexos:
-- Criar tabela
CREATE TABLE IF NOT EXISTS settings (key_name VARCHAR(100), value TEXT);
-- Inserir valores predefinidos
INSERT INTO settings VALUES ('site_name', 'My App');
INSERT INTO settings VALUES ('version', '1.0');
-- Verificar
SELECT * FROM settings;