Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: bgnumis en 27 Febrero 2015, 14:46 pm



Título: Mysql modificar solo un campo de todas las filas de una tabla
Publicado por: bgnumis en 27 Febrero 2015, 14:46 pm
Hola,

Soy totalmente inxeperto y tengo la siguiente duda que supongo será fácil.

Tengo una tabla, con 15 columnas, dni, nombre, años, estudiosetc. Llamada "club".

Me han pasado un fichero ods (equivalente al csv) con el idusuario y en el campo "años" nuevos valores.

¿Sé podría mediante sentencia SQL (mysql) modificar para cada idusuario su campo "años" de forma masiva importando? O Reemplazar los valores anteriores por estos  nuevos sin ir uno a uno?

Un abrazo.



Título: Re: Mysql modificar solo un campo de todas las filas de una tabla
Publicado por: Usuario Invitado en 3 Marzo 2015, 21:11 pm
¿Quieres decir que se vaya leyendo el .ods y se vayan actualizando la columna "anyos" de tus tablas de acuerdo al ID?

Ésto debes hacerlo con un lenguaje de programación. No creo que te tome muchas líneas.

La lógica es la sencilla:

1) Cargar en memoria la hoja de cálculo.
2) Leerlo fila por fila y obtener el Id y los años.
3) Hacer una consulta a la BBDD para actualizar el valor "anyos" de las tablas por los años extaídos de la hoja de cálculos.


Título: Re: Mysql modificar solo un campo de todas las filas de una tabla
Publicado por: Shell Root en 3 Marzo 2015, 21:45 pm
Simplemente, descargate la tabla completa y lo pones en un archivo de excel. Ahora, con el archivo que te enviaron lo modificas en su respectiva fila (puedes usar la función BUSCARV para asociar la edad con el usuario), y subir directamente todo el archivo con los valores nuevos con LOAD DATA INFILE.

Será más facil interactuar con excel y solo subir el archivo CSV al MySQL, que crear un procedimiento almacenado para realizar esa acción!