48 - Remplazar registros (replace) |
Un instituto de enseñanza guarda los datos de sus alumnos en la tabla "alumnos". 1- Elimine la tabla si existe: drop table if exists alumnos; 2- Cree la tabla: create table alumnos( legajo int(10) unsigned auto_increment, nombre varchar(30), documento char(8), domicilio varchar(30), primary key(legajo), unique i_documento (documento) ); 3- Ingrese algunos registros: insert into alumnos values('1353','Juan Lopez','22333444','Colon 123'); insert into alumnos values('2345','Ana Acosta','24000555','Caseros 456'); insert into alumnos values('2356','Jose Torres','26888777','Sucre 312'); insert into alumnos values('3567','Luis Perez','28020020','Rivadavia 234'); 4- Intente ingresar un registro con clave primaria repetida (legajo "3567"): insert into alumnos values('3567','Marcos Pereyra','30000333','Guemes 134'); aparece un mensaje de error. 5- Ingrese el registro anterior reemplazando el existente: replace into alumnos values('3567','Marcos Pereyra','30000333','Guemes 134'); 6- Intente ingresar un alumno con documento repetido: insert into alumnos values('4567','Susana Juarez','30000333','Avellaneda 33'); aparece un mensaje de error. 7- Reemplace el registro: replace into alumnos values('4567','Susana Juarez','30000333','Avellaneda 33'); note que el alumno con documento "30000333" se eliminó y se reemplazó por el nuevo registro. 8- Elimine el índice único: drop index i_documento on alumnos; 9- Ingrese con "replace" el siguiente registro con documento existente: replace into alumnos values('4888','Gustavo Garcia','30000333','San Martin 846'); un registro afectado, no hubo eliminación solamente inserción. 10- Muestre todos los registros: select * from alumnos; note que hay dos alumnos con el mismo número de documento.