Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

limpiar registros

Estas en el tema de limpiar registros en el foro de Mysql en Foros del Web. Estimados. tengo mucha basura en mi base de datos que no se como llegó ahi. cosas como (no son todos iguales, pero siempre con esos ...
  #1 (permalink)  
Antiguo 21/11/2012, 09:08
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 23 años
Puntos: 1
limpiar registros

Estimados. tengo mucha basura en mi base de datos que no se como llegó ahi.
cosas como (no son todos iguales, pero siempre con esos caracteres raros)

Æ’í†â€™íƒâ€ í¢â‚¬â„¢íƒÆ’í¢â‚¬Â íƒÂ¢í¢

como puedo limpiar eso?
saludos!!
__________________
On error no hago nada porque deje de fumar...
  #2 (permalink)  
Antiguo 21/11/2012, 10:21
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: limpiar registros

Primero tienes que evitar que entre de nuevo, y eso es por errores en la codificacion de tus paginas web, no por la base de datos.
Eso es tema de programación, por lo que debería pasarte el post para allá.
En cuanto a lo que existe ahora... no hay mucho por hacer, salvo eliminar los datos y volver a ingresarlos, [B]luego de haber corregido los defectos de programación.

¿En qué lenguaje de programación estás trabajando?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 21/11/2012, 10:23
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 23 años
Puntos: 1
Respuesta: limpiar registros

es una base de datos no conectada a ningun lado por lo tanto no entraran registros
asi que lo que notas en el primer punto no aplica.
solo resta corregir estos datos, pense en algun replace talvez no?
__________________
On error no hago nada porque deje de fumar...
  #4 (permalink)  
Antiguo 21/11/2012, 10:31
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: limpiar registros

No. Solamente eliminando todo el contenido, o eliminando los registros.
El SQL no va a poder reconvertir los caracteres si ingresaron incorrectamente desde origen.
Tampoco los va a reconocer, porque ya no son los mismos caracteres multi-byte que se originaron, sino que han sido malconvertidos. Ahora son algo diferente.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 21/11/2012, 10:41
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 23 años
Puntos: 1
Respuesta: limpiar registros

no te comprendo. porque dices eliminar los registros?
hay datos validos mezclados con los invalidos
por ej "HOLA ¢â‚¬â„¢íƒÆ" y necesito que quede "HOLA"
__________________
On error no hago nada porque deje de fumar...
  #6 (permalink)  
Antiguo 21/11/2012, 11:33
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: limpiar registros

Bueno, eso se llama en general "datos basura", porque están incompletos y adulterados.
Te dije eliminar registros, porque eso es una de las cosas que puedes hacer: Reingresar los datos correctos.
Respecto a lo de quitar parte del texto, ya te lo dije: Con SQL sólo no lo podrás hacer, porque las búsquedas que tienes que elaborar no son globales, es decir, no puedes usar una misma busqueda para todos los casos. Deberás determinar en cada caso qué es lo que debes buscar y eliminarlo, o editar manualmente con un front-end cada registro para corregirlo.

La decisión es tuya, no mía.

Yo, personalmente, si no me interesa recuperar lo que se alteró, crearía una función que barra uno a uno los registros afectados y eliminara cualquier cosa que no sea un caracter latino o un signo de escritura.
Y aún así tendría que hacer una verificación visual.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 21/11/2012, 11:56
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 23 años
Puntos: 1
Respuesta: limpiar registros

y eso se llama "matar moscas a cañonazos"
gracias por tu ayuda. seguire buscando opciones
__________________
On error no hago nada porque deje de fumar...
  #8 (permalink)  
Antiguo 21/11/2012, 12:03
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: limpiar registros

Buena suerte.
Con lo que tienes en esas tablas, no hay mucho que se pueda hacer.

Lamento que lo tomes a mal.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 21/11/2012, 12:09
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 23 años
Puntos: 1
Respuesta: limpiar registros

no hombre para nada! solo que borrar los registros y volver a cargarlos es casi imposible.
imagina informacion contable de una empresa que está legible pero acompañada de basura.
si la borro no me queda nada!

lo que me llama la atencion es que se completó el resto del espacio disponible segun el tipo de campo. con basura. osea que tengo un varchar (255) completo de basura y al principio 2 palabras!
__________________
On error no hago nada porque deje de fumar...
  #10 (permalink)  
Antiguo 21/11/2012, 12:47
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: limpiar registros

¿No estarás leyendo un tipo de dato erróneo? ¿Un binario como si fuese una cadena?
Como sea, el problema está en la fuente de datos.
¿Cómo entraron esos datos?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #11 (permalink)  
Antiguo 21/11/2012, 12:56
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 23 años
Puntos: 1
Respuesta: limpiar registros

si entraron en un momento que hubo problemas de encoding y se ensuciaron miles de datos.
ahora quedo la base casi inutulizada y quiero tratar de recuperarla.

pero no logro reconocer un patron como para hacer un replace masivo...
__________________
On error no hago nada porque deje de fumar...
  #12 (permalink)  
Antiguo 21/11/2012, 13:01
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: limpiar registros

Una idea sería, por ejemplo, el código de esta función, que lo que hace es eliminar letras y dejar los números: FAQs de MySQL #18
Si aplicas la misma lógica, pero haciendo que verifique todo lo que sea caracteres latinos, números y símbolos de escritura, al menos podrás sacar cualquier otra cosa.
Solamente habría que extender la cadena del primer parámetro del INSTR.
Creo que podría funcionar.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #13 (permalink)  
Antiguo 22/11/2012, 13:19
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 23 años
Puntos: 1
Respuesta: limpiar registros

es buena idea. voy a probar esa funcion

otra cosa que se me ocurrio es reemplaza las cadenas largas sin espacio por NADA
me di cuenta que la basura es larga y sin espacios asi que si pudiera identificar cuando una cadena es mas larga que x.. remplazarla por nada.
__________________
On error no hago nada porque deje de fumar...

Etiquetas: limpiar, registros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:03.