Documente Academic
Documente Profesional
Documente Cultură
Insert SQL
La instrucción INSERT permite crear o insertar nuevos registros en una tabla, veamos su sintaxis con un
ejemplo práctico, la inserción de un registro en la tabla ALUMNOS:
Observe como todo lo que se explicó en referencia a los tipos de datos es valido para la
instrucción INSERT. Los datos de tipo numérico no se entrecomillan, a diferencia de los datos
de tipo cadena y fecha.
Donde cada dato de la lista VALUES se corresponde y se asigna a cada campo de la tabla en el mismo orden
de aparición de la sentencia INSERT. Cabe mencionar que si la clave primaria que identifica el registro que
se pretende insertar ya la usa un registro existente el SGBD rechazaría la operación y devolvería un error de
clave primaria duplicada.
Así que cuando usted rellena un formulario en Internet por ejemplo, y los datos son almacenados en una
BD, en algún momento del proceso se realizará una instrucción INSERT con los datos que usted a
cumplimentado.
pág. 1
Base de datos – Unidad 3
Inserción, modificación y eliminación de registros.
***
Update SQL
La instrucción UPDATE permite actualizar registros de una tabla. Debemos por lo tanto indicar que registros
se quiere actualizar mediante la cláusula WHERE, y que campos mediante la cláusula SET, además se
deberá indicar que nuevo dato va a guardar cada campo.
Así por ejemplo supongamos que para el curso que carecía de profesor finalmente ya se ha decidido quien
lo va a impartir, la sintaxis que permite actualizar el profesor que va a impartir un curso sería la siguiente:
Todo lo expuesto sobre lógica booleana es valido para la clausula WHERE de la instrucción
UPDATE, en todo caso dicha cláusula se comporta igual que en una consulta, solo que ahora
en lugar de seleccionar registros para mostrarnos algunos o todos los campos, seleccionará
registros para modificar algunos o todos sus campos. Por lo tanto omitir la cláusula WHERE en
una instrucción UPDATE implica aplicar la actualización a todos los registros de la tabla.
La instrucción anterior asignará un 2 en el campo ID_PROFE de la tabla CURSOS en los registros cuyo valor
en el campo ID_CURSO sea 5. Como sabemos que el campo ID_CURSO es la clave primaria de la tabla, tan
solo se modificará un solo registro si es que existe. Obviamente en este caso, dado que el campo que se
pretende actualizar es clave foránea de la tabla PROFESORES, si no existe un registro en dicha tabla con
identificador 2 el SGBD devolverá un error de clave no encontrada.
Veamos otro ejemplo, esta vez se modificarán varios campos y registros con una sola instrucción.
Recordemos la tabla EMPLEADOS, en ella se guardan los datos de cada empleado, el sueldo y supongamos
que también se guarda en el campo PRECIO_HORA el precio de la hora extra que cobra cada empleado en el
caso que las trabaje. Bien, con el cambio de ejercicio se deben subir los sueldos y el precio por hora extra
trabajada, digamos que un 2% el sueldo y un 1 % el precio de la hora extra. Sin embargo la política de
empresa congela el salario a directivos que cobran 3000 euros o más. ¿Qué instrucción actualizaría estos
importes según estas premisas? :
Por lo tanto solo se está actualizando el salario y el precio de la hora extra de aquellos empleados que su
salario es inferior a 3000 euros.
pág. 2
Base de datos – Unidad 3
Inserción, modificación y eliminación de registros.
UPDATE nombre_tabla
SET campo1 = valor1,
campo2 = valor2,
...
campoN = valorM
WHERE condicines
***
Delete SQL La isntrucción DELETE permite eliminar regsitros de una tabla, su sintaxis es simple, puesto que s
debemos indicar que registros deseamos eliminar mediante la cláusula WHERE. La siguiente consu
elimina todos los registros de la tabla mascotas que estan de baja:
pág. 3
Base de datos – Unidad 3
Inserción, modificación y eliminación de registros.
Al igua que la instrucción que ocurria con la UPDATE, para la instrucción DELETE es válido
todo lo expuesto sobre la cláusula WHERE para consultas.
Al eliminar registros de una tabla estos no deben figurar como clave foránea en otra tabla, de lo contrario
el SGBD devolverá un error de violación de integridad referencial, puesto que si se permitiese quedarían
regsitros huerfanos.
***
Resumen
Con las instrucciones INSERT, DELETE y UPDATE el SGBD permite crear eliminar o modificar registros.
La cláusula WHERE de las instrucciones DELETE y UPDATE se comporta igual que en las consultas y permite
descartar o considerar registros mediante condiciones por la instrucción de actualización o de borrado.
Omitir la cláusula WHERE implica aplicar la operación a todos los registros de la tabla.
Al insertar eliminar o actualizar datos, deben respetarse las restricciones. Si estas están montadas en la BD,
cosa por otro lado muy recomendable, podemos tener errores de tres tipos:
• Violación de integridad referencial (se pretende dejar huérfanos registros que apuntan al registro
padre al intentarlo eliminar o modificar).
• Clave padre no encontrada (al actualizar o insertar una clave foránea que no existe en la tabla
padre a la que apunta)
http://deletesql.com/viewtopic.php?f=5&t=24
pág. 4