El Panel MySQL de Nobregas soporta la ejecución de múltiples sentencias SQL de una sola vez. Separa cada sentencia con un punto y coma y el panel las ejecutará secuencialmente, devolviendo resultados de cada una.
Cómo Funciona la Ejecución Multi-Sentencia
Cuando introduces múltiples sentencias SQL separadas por puntos y coma, el panel:
- Divide tu entrada en sentencias individuales.
- Ejecuta cada sentencia en orden contra la base de datos seleccionada.
- Devuelve el resultado de la última sentencia (o un resumen combinado de resultados).
Escribir Múltiples Sentencias
Separa cada sentencia con un punto y coma (;). Puedes ponerlas en una línea o en múltiples líneas:
Línea Única
INSERT INTO logs (msg) VALUES ('start'); SELECT * FROM logs;
Multi-Línea (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 Comunes de Multi-Sentencia
Insertar Múltiples Filas
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 y 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;
Operaciones de Limpieza
DELETE FROM sessions WHERE expires_at < NOW();
DELETE FROM tokens WHERE created_at < DATE_SUB(NOW(), INTERVAL 30 DAY);
SELECT 'Limpieza completada' AS status;
Consideraciones Importantes
Orden de Ejecución
Las sentencias se ejecutan secuencialmente de arriba a abajo. Si la Sentencia 2 depende de la Sentencia 1 (ej.: insertar y luego seleccionar), se ejecutarán en el orden correcto.
Manejo de Errores
Si alguna sentencia falla, la ejecución se detiene en ese punto. Las sentencias anteriores al error ya se han aplicado. Las sentencias posteriores al error no se ejecutan. Revisa el mensaje de error para identificar qué sentencia falló.
Sin Transacciones
Cada sentencia se auto-confirma. No hay una transacción implícita envolviendo múltiples sentencias. Si la tercera de cinco sentencias falla, las dos primeras ya se han confirmado y no se pueden revertir.
Visualización de Resultados
El panel de resultados de consulta típicamente muestra la salida de la última sentencia SELECT o un resumen de filas afectadas de todas las sentencias.
Consejos para Consultas Multi-Sentencia
- Siempre termina con un SELECT si quieres ver resultados después de las modificaciones.
- Prueba sentencias individualmente antes de combinarlas, especialmente las destructivas.
- Usa comentarios para organizar scripts multi-sentencia complejos:
-- Crear tabla
CREATE TABLE IF NOT EXISTS settings (key_name VARCHAR(100), value TEXT);
-- Insertar valores por defecto
INSERT INTO settings VALUES ('site_name', 'My App');
INSERT INTO settings VALUES ('version', '1.0');
-- Verificar
SELECT * FROM settings;