El otro día tuve que eliminar una serie de registros de una columna en una base de datos. Este problema me surgió en la web cuando me di cuenta que en un campo de una base de datos, existían muchos registros que quería y necesitaba eliminar (vaciar). Esos registros los introduje uno a uno de forma manual durante un tiempo prolongado y ahora quitarlos desde la misma web llevaría muchísimo tiempo, pero muchísimo, no es algo que considere viable aunque pueda serlo.
Tal vez sea demasiado básico y simple. Para entender lo que hice, muestro el siguiente ejemplo de una sencilla base de datos con una tabla y dos columnas. Los nombres son estos:
Ahora te muestro los registros que he escrito para cada columna:
frutas |
colores |
---|---|
fresa | azul |
limón | rojo |
limón | verde |
limón | naranja |
limón | blanco |
piña | celeste |
Por supuesto, haz las pruebas en local. Tal vez la palabra "eliminar" no sea la adecuada, posiblemente "vaciar", "borrar", "actualizar", "modificar" o sustituir por una "cadena vacía". Yo creo que se entiende. Voy a trabajar desde phpMyAdmin.
Yo lo voy a hacer del siguiente modo:
UPDATE tabla SET frutas='';
Me devuelve: 6 filas afectadas. ( La consulta tardó 0.0346 seg ). Compruebo que, efectivamente, se han eliminado todos los registros de la columna o campo frutas. Resultado:
frutas |
colores |
---|---|
azul | |
rojo | |
verde | |
naranja | |
blanco | |
celeste |
Vuelvo de nuevo a tener la primera tabla con la que partí en este tutorial. Ahora en este caso, solo quiero eliminar las frutas "limón":
UPDATE base_datos.tabla SET frutas='' WHERE frutas='limón';
Me devuelve: 4 filas afectadas. ( La consulta tardó 0.0360 seg ). He usado base_datos.tabla, según donde hagas la consulta SQL. Resultado:
frutas |
colores |
---|---|
fresa | azul |
rojo | |
verde | |
naranja | |
blanco | |
piña | celeste |
UPDATE tabla SET frutas='' WHERE frutas='fresa' OR frutas='piña';
Devuelve: 2 filas afectadas. ( La consulta tardó 0.0574 seg ). Resultado:
frutas |
colores |
---|---|
azul | |
limón | rojo |
limón | verde |
limón | naranja |
limón | blanco |
celeste |
UPDATE tabla SET colores='' WHERE colores LIKE '%an%';
Devuelve: 2 filas afectadas. ( La consulta tardó 0.0192 seg ). Resultado:
frutas |
colores |
---|---|
fresa | azul |
limón | rojo |
limón | verde |
limón | |
limón | |
piña | celeste |
UPDATE tabla SET colores='', frutas='' WHERE colores LIKE '%a' OR frutas LIKE '%a';
Devuelve: 3 filas afectadas. ( La consulta tardó 0.0801 seg ). Resultado:
frutas |
colores |
---|---|
limón | rojo |
limón | verde |
limón | blanco |
Como ves, he puesto unos sencillos ejemplos que tal vez te puedan ayudar u orientar. En mi caso tuve que eliminar cerca de 300 registros y la consulta tardó también muy poco tiempo. Pienso que es algo muy útil, sencillo y puede ahorrarte mucho tiempo...