Cómo probar las consultas de manipulación de datos antes de ejecutarlas en MySQL

Las instrucciones SQL de manipulación de datos o DML (Data Manipulation Language) pueden producir una grave pérdida o alteración de los datos. Un descuido en la sintaxis al escribir una orden UPDATE, por ejemplo, o cualquier otro «detalle» que pase desapercibido en ese momento pueden tener unas consecuencias completamente indeseadas para los valiosos datos. Para evitar caer en esa situación, existen dos posibilidades que no son mutuamente excluyentes. La primera, la más evidente, usar la instrucción por excelencia del DQL (Data Query Language):

SELECT

En un caso hipotético, se desea concatenar los campos del piso (adfloor) y el número (adnumber) a la dirección (address) como paso previo a la eliminación de estos. Un SELECT que adelante los resultados del UPDATE sería:

SELECT address, adnumber, adfloor,
concat(coalesce(address, ''), ' ', coalesce(adnumber, ''), ' ', coalesce(adfloor, '')) AS address_concat
FROM table;

Si los resultados son los esperados, puede lanzarse el UPDATE:

UPDATE table
SET address = concat(coalesce(address, ''), ' ', coalesce(adnumber, ''), ' ', coalesce(adfloor, ''));

La segunda, es mediante TCL (Transaction Control Language):

Transacciones

Sigue leyendo