Comandos DML de SQL: Gestión y Manipulación de Datos (INSERT, UPDATE, DELETE)
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 4,95 KB
La Sentencia INSERT de SQL: Adición de Registros
La sentencia INSERT de SQL permite insertar una fila en una tabla, es decir, añadir un registro de información a una tabla.
Sintaxis Básica de INSERT
INSERT [INTO] nombre_tabla [(nombre_columna, . . . )]
VALUES ({expr | DEFAULT},...)nombre_tabla es el nombre de la tabla donde se quiere insertar la fila. Después del nombre de la tabla, de forma optativa, se pueden indicar las columnas donde se va a insertar la información. Si se especifican las columnas, la lista de valores (VALUES) a insertar se asociará correlativamente con los valores de las columnas indicadas.
INSERT Extendido (Inserción Múltiple)
La sintaxis extendida permite insertar múltiples filas en una sola sentencia.
INSERT INTO vehiculos (Matricula, Modelo, Marca)
VALUES ('4123 BFH', 'Ibiza', 'Seat'),
('1314 FHD', 'Toledo', 'Seat'),
('3923 GJS', 'León', 'Seat');INSERT y SELECT (Copia de Datos)
Esta sintaxis permite insertar datos en una tabla seleccionándolos directamente desde otra tabla.
INSERT [INTO] nombre_tabla [(nombre_columna, . . .)]
SELECT ... FROM ...Ejemplo de copia de todos los registros:
INSERT INTO BackupVehiculos
SELECT * FROM vehiculos;La Sentencia UPDATE: Modificación de Registros
La sentencia UPDATE se utiliza para modificar los valores de los registros existentes en una tabla.
Sintaxis de UPDATE
UPDATE nombre_tabla
SET nombre_col1 = expr1 [, nombre_col2 = expr2 ] ...
[WHERE filtro]Ejemplos de UPDATE
Actualización simple (con filtro):
UPDATE jugadores SET Nombre_equipo = 'Knicks' WHERE Nombre = 'Pau Gasol';Actualización de múltiples columnas:
UPDATE jugadores SET Nombre_equipo = 'Knicks', Peso = 210 WHERE Nombre = 'Pau Gasol';Actualización basada en cálculos (sin filtro, afecta a toda la tabla):
UPDATE jugadores SET Peso = Peso * 0.4535;
La Sentencia DELETE: Eliminación de Registros
La sentencia DELETE se utiliza para eliminar registros de una tabla.
Sintaxis de DELETE
DELETE FROM nombre_tabla
[WHERE filtro]Ejemplos de DELETE
Eliminación condicional:
DELETE FROM jugadores WHERE Nombre = 'Jorge Garbajosa';Eliminación total (sin filtro, borra todos los registros):
DELETE FROM jugadores;
Uso Avanzado de DELETE con Subconsultas
Es posible utilizar subconsultas para definir qué registros deben ser eliminados, basándose en la existencia o no de datos en otras tablas.
DELETE FROM Empleados
WHERE CodigoEmpleado NOT IN
(SELECT CodigoEmpleadoRepVentas FROM Clientes)
AND Puesto = 'Representante Ventas';Gestión de Registros y Relaciones: Restricciones de Integridad
Es crucial tener en cuenta que no siempre se pueden borrar o modificar datos libremente debido a las restricciones de integridad referencial.
Para manejar estas restricciones, debemos recordar las cláusulas REFERENCES utilizadas en la sentencia CREATE TABLE para establecer relaciones de clave foránea-clave primaria:
Definición de Referencia (Cláusula REFERENCES)
REFERENCES nombre_tabla [(nombre_columna, . . .)]
[ON DELETE opción_referencia]
[ON UPDATE opción_referencia]Las cláusulas ON DELETE y ON UPDATE personalizan el comportamiento del SGBD ante intentos de borrado o actualización de registros relacionados.
Por defecto, si no se especifica nada, el sistema puede impedir el borrado o la actualización si existen registros dependientes.
Si la relación se personaliza con las opciones
ON UPDATE CASCADEyON DELETE CASCADE, los datos se borran y se actualizan en cascada, manteniendo la coherencia entre las tablas.
Transacciones en SQL: Garantizando la Integridad Atómica
Un Sistema Gestor de Bases de Datos (SGBD) actualiza múltiples datos a través de una transacción. Una transacción es un conjunto de sentencias SQL que se tratan como una sola instrucción (atómica).
Una transacción puede ser:
- Confirmada (
COMMIT): Si todas las operaciones individuales se ejecutaron correctamente. - Abortada (
ROLLBACK): Si hubo algún problema, revirtiendo la base de datos al estado anterior al inicio de la transacción.
Trabajar con transacciones es esencial para mantener la integridad de los datos. La transacción garantiza la atomicidad de la operación: o se realizan todas las operaciones, o no se realiza ninguna.