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

Copiar de una tabla a otra

Estas en el tema de Copiar de una tabla a otra en el foro de Mysql en Foros del Web. Hola a todos, deseo saber que query usar para copiar un registro de una tabla a otra, por ejemplo: - Tenemos la tabla "comida" con ...
  #1 (permalink)  
Antiguo 10/07/2008, 12:10
 
Fecha de Ingreso: septiembre-2005
Ubicación: Valencia
Mensajes: 738
Antigüedad: 18 años, 7 meses
Puntos: 5
Pregunta Copiar de una tabla a otra

Hola a todos, deseo saber que query usar para copiar un registro de una tabla a otra, por ejemplo:
- Tenemos la tabla "comida" con los campos (nombre, sabor)
- Tambien tenemos la tabla "comida_hecha" con los mismos campos.
Si en la tabla "comida" tengo un registro y lo quiero copiar y mover a la tabla "comida_hecha", ¿Como lo hago?

Gracias y un saludo.
  #2 (permalink)  
Antiguo 10/07/2008, 12:35
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Copiar de una tabla a otra

Cita:
Iniciado por astut Ver Mensaje
Hola a todos, deseo saber que query usar para copiar un registro de una tabla a otra, por ejemplo:
- Tenemos la tabla "comida" con los campos (nombre, sabor)
- Tambien tenemos la tabla "comida_hecha" con los mismos campos.
Si en la tabla "comida" tengo un registro y lo quiero copiar y mover a la tabla "comida_hecha", ¿Como lo hago?

Gracias y un saludo.
Código:
INSERT INTO comida_hecha (nombre, sabor) SELECT nombre, sabor FROM comida WHERE ...
en el WHERE pones la condición o condiciones de selección
  #3 (permalink)  
Antiguo 10/07/2008, 12:54
 
Fecha de Ingreso: septiembre-2005
Ubicación: Valencia
Mensajes: 738
Antigüedad: 18 años, 7 meses
Puntos: 5
Respuesta: Copiar de una tabla a otra

Hola Jurena, por favor, ¿puedes explicarme que opciones de seleccion usar? me gustaria que me pusieras un ejemplo completo, te estaria agradecido.

Un saludo.
  #4 (permalink)  
Antiguo 10/07/2008, 13:28
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Copiar de una tabla a otra

Supongo que tendrás un id en la tabla comida; imaginemos que lo has llamado idcomida.
Pues bien, si quisieras copiar los datos del idcomida 3 en la tabla comida_hecha:

INSERT INTO comida_hecha (nombre, sabor) SELECT nombre, sabor FROM comida WHERE comida.idcomida = 3

si quieres copiar en comida_hecha todos los registros de comida cuyo nombre es arroz
INSERT INTO comida_hecha (nombre, sabor) SELECT nombre, sabor FROM comida WHERE comida.nombre LIKE 'arroz'

si quieres copiar todas las comidas cuyo sabor es salado
INSERT INTO comida_hecha (nombre, sabor) SELECT nombre, sabor FROM comida WHERE sabor LIKE 'salado'
  #5 (permalink)  
Antiguo 10/07/2008, 14:11
 
Fecha de Ingreso: septiembre-2005
Ubicación: Valencia
Mensajes: 738
Antigüedad: 18 años, 7 meses
Puntos: 5
Respuesta: Copiar de una tabla a otra

Jurena muchas gracias por tu respuesta me ayudo mucho.

Voy a subirte el karma ;)

Un saludo.
  #6 (permalink)  
Antiguo 10/07/2008, 14:47
 
Fecha de Ingreso: septiembre-2005
Ubicación: Valencia
Mensajes: 738
Antigüedad: 18 años, 7 meses
Puntos: 5
Pregunta Respuesta: Copiar de una tabla a otra

aaah otra cosa que se me olvidaba, y si quiero hacer eso mismo, copiar un registro de una tabla a otra, pero quiero que el valor de un campo no sea el mismo que la tabla de donde copio y valga "asqueroso por ejemplo", ¿Se puede hacer en la misma sentencia?

Un grato saludo.
  #7 (permalink)  
Antiguo 10/07/2008, 14:54
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Copiar de una tabla a otra

Cita:
Iniciado por astut Ver Mensaje
aaah otra cosa que se me olvidaba, y si quiero hacer eso mismo, copiar un registro de una tabla a otra, pero quiero que el valor de un campo no sea el mismo que la tabla de donde copio y valga "asqueroso por ejemplo", ¿Se puede hacer en la misma sentencia?

Un grato saludo.
Si quieres añadir el nombre de la comida del idcomida3, pero un sabor distinto y, en tu caso, asqueroso, tal vez así:

INSERT INTO comida_hecha (nombre, sabor) SELECT nombre, 'asqueroso' FROM comida WHERE comida.idcomida = 3
  #8 (permalink)  
Antiguo 10/07/2008, 15:00
 
Fecha de Ingreso: septiembre-2005
Ubicación: Valencia
Mensajes: 738
Antigüedad: 18 años, 7 meses
Puntos: 5
Pregunta Respuesta: Copiar de una tabla a otra

Funciona Jurena ;)

Muchas gracias por tu ayuda.
  #9 (permalink)  
Antiguo 27/05/2010, 16:18
 
Fecha de Ingreso: abril-2010
Mensajes: 3
Antigüedad: 14 años
Puntos: 0
Respuesta: Copiar de una tabla a otra

y si en la tabla comidahecha tengo un campo que en la tabla comida no esta por ejemplo "hecha_por" y quiero agregarle un valor a ese campo de una sola vez como hago?
  #10 (permalink)  
Antiguo 29/05/2010, 05:23
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Copiar de una tabla a otra

es lo mismo:
INSERT INTO comida_hecha (nombre, sabor, hecha_por) SELECT nombre, 'asqueroso', 'Arguiñano' FROM comida WHERE comida.idcomida = 3

esto añade datos sólo para la comida cuyo idcomida es 3.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 23:27.