INSERT, UPDATE, DELETE

SQL TRANSACT: Insert, Update, Delete

Como Agregar con la instrucción INSERT, Modificar con la instrucción UPDATE ó Eliminar con la instruccion
DELETE los datos de una Tabla de una Base de Datos en SQL


Aquí tienes una explicación de las instrucciones INSERT, UPDATE, DELETE y TRUNCATE en SQL Server.

INSERT

La instrucción INSERT se utiliza para agregar nuevos registros a una tabla. Piensa en esto como si estuvieras añadiendo una nueva fila a una hoja de cálculo.

Sintaxis básica:

INSERT INTO nombre_de_tabla (columna1, columna2, columna3, ...)
VALUES (valor1, valor2, valor3, ...);

Ejemplo:

Imagina que tienes una tabla llamada Estudiantes con las columnas ID, Nombre, y Edad. Para agregar un nuevo estudiante, usarías:

INSERT INTO Estudiantes (ID, Nombre, Edad)
VALUES (1, 'Juan Pérez', 20);

UPDATE

La instrucción UPDATE se usa para modificar los datos existentes en una tabla. Esto es similar a cambiar el valor de una celda en una hoja de cálculo.

Sintaxis básica:

UPDATE nombre_de_tabla
SET columna1 = valor1, columna2 = valor2, ...
WHERE condición;

Ejemplo:

Para cambiar la edad del estudiante con ID 1 a 21 años:

UPDATE Estudiantes
SET Edad = 21
WHERE ID = 1;

DELETE

La instrucción DELETE se utiliza para eliminar registros específicos de una tabla. Esto sería como borrar una fila de una hoja de cálculo.

Sintaxis básica

DELETE FROM nombre_de_tabla
WHERE condición;

Ejemplo:

Para eliminar al estudiante con ID

DELETE FROM Estudiantes
WHERE ID = 1;

TRUNCATE

La instrucción TRUNCATE se utiliza para eliminar todos los registros de una tabla, pero a diferencia de DELETE, no se puede usar para eliminar registros específicos. Es más rápida y eficiente porque no registra la eliminación de cada fila individualmente.

Sintaxis básica:

TRUNCATE TABLE nombre_de_tabla;

Ejemplo:

Para eliminar todos los registros de la tabla Estudiantes:

TRUNCATE TABLE Estudiantes;

Diferencias clave entre DELETE y TRUNCATE:

  1. DELETE permite eliminar registros específicos utilizando una condición (WHERE), mientras que TRUNCATE elimina todos los registros sin posibilidad de condición.
  2. TRUNCATE es generalmente más rápido porque no registra la eliminación de cada fila individualmente, sino que simplemente vacía la tabla.
  3. TRUNCATE resetea los contadores de identidad (si la tabla tiene una columna de identidad), mientras que DELETE no lo hace.
  4. DELETE activa los triggers de la tabla, mientras que TRUNCATE no lo hace.

Ejemplo práctico:

Supongamos que tienes una tabla llamada Inventario con columnas ProductoID, NombreProducto, y Cantidad:

  1. INSERT: Agregar un nuevo producto.
    INSERT INTO Inventario (ProductoID, NombreProducto, Cantidad)
    VALUES (101, 'Lápiz', 50);
  2. UPDATE: Cambiar la cantidad de un producto existente.
    UPDATE Inventario
    SET Cantidad = 75
    WHERE ProductoID = 101;
  3. DELETE: Eliminar un producto específico.
    DELETE FROM Inventario
    WHERE ProductoID = 101;
  4. TRUNCATE: Vaciar toda la tabla Inventario.
    TRUNCATE TABLE Inventario;

Espero que esta explicación te haya sido útil, abajo tienes un script que puedes pegar en el sql management studio para repasar.

–DELETE
–consulta de la tabla order details
SELECT * FROM [order details]
go
–Eliminacion de datos de la tabla order details
Delete from [order details]
where productid=23
go
/* Eliminacion de todos los datos de la tabla
order details sin pasar por el log de transaccione
con truncate no se puede usar where
*/
TRUNCATE TABLE DATOS
/*
BORRA LAS DATOS DE UNA TABLA EN RELACION CON UNA
COMPARACION EN BASE A UN CAMPO DE OTRA TABLA
*/
DELETE FROM [ORDER DETAILS]
FROM ORDERS AS O INNER JOIN [ORDER DETAILS] AS OD
ON O.ORDERID= OD.ORDERID
WHERE O.ORDERDATE=‘1998-14-4’
–UPDATE
UPDATE CUSTOMERS SET CONTACTNAME=‘Jaime Acuña’
where customerid =‘BLAUS’
–Consultar la actualización
select * from customers
where customerid =‘BLAUS’
–UPDATE DE UNA TABLA BASADO EN DATOS DE OTRA TABLA
–primero partimos de hacer la consulta
SELECT P.PRODUCTID, P.PRODUCTNAME, P.UNITPRICE FROM PRODUCTS AS P
INNER JOIN SUPPLIERS AS S
ON P.SUPPLIERID=S.SUPPLIERID
WHERE S.COUNTRY=‘USA’
–Luego realizacomos la actualización
UPDATE PRODUCTS SET P.UNITPRICE=(UNITPRICE*2) FROM PRODUCTS AS P
INNER JOIN SUPPLIERS AS S
ON P.SUPPLIERID=S.SUPPLIERID
WHERE S.COUNTRY=‘USA’
–INSERT
Insert into customers(customerid, companyname
, contactname, contacttitle, country)
values
(‘vhcv1’, ‘Visoal, Guatemala’, ‘Victor Cardenas’,
‘Ing’,‘Guatemala’)

4 comentarios en «INSERT, UPDATE, DELETE»

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.