11 febrero, 2020

Sentencias DML

Un Lenguaje de Manipulación de Datos o Data Manipulation Language (DML) es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de consulta o manipulación de los datos, organizados por el modelo de datos adecuado. El lenguaje de manipulación de datos se clasifica en:

SELECT
INSERT
UPDATE
DELETE

El objetivo de este post es emplear los comandos SQL para ingresar, modificar o eliminar datos de una tabla de base de datos.

DML: SELECT

La sentencia SELECT nos permite consultar los datos almacenados en una tabla de la base de datos. La sintaxis básica de una consulta de selección es la siguiente:


1. Esta consulta devuelve un recordset con todos los campos de la tabla “CLIENTES”.


2. Esta consulta devuelve un recordset con los campos COD_CLI y NOM_CLI de la tabla “CLIENTES”.



La sintaxis de un SELECT se puede volver muy compleja y extensa, pero conforme avancemos, veremos mas a detalle está instrucción y como lo podemos mesclar con otros comandos, clausulas, predicados, operadores, funciones, etc.

DMl: INSERT INTO

Para almacenar datos en una base de datos debemos insertar filas en las tablas. Para ello, SQL pone a nuestra disposición la sentencia INSERT.

Inserción de filas; consiste en añadir a una tabla una o más filas y en cada fila todos o parte de sus campos.

Podemos distinguir dos formas de insertar filas:

  • Inserción individual de filas.
  • Inserción múltiple de filas.

Inserción Individual de una fila

Para realizar la inserción individual de filas, SQL posee la instrucción INSERT INTO. Su sintaxis es la siguiente: 


Ejemplo: Insertar datos de distintas formas




Inserción múltiples de Filas

La sentencia INSERT permite insertar varios registros en una tabla. Para ello, utilice una combinación de la sentencia INSERT junto a una sentencia SELECT. El resultado es que se insertarán todos los registros devueltos por la consulta.


Ejemplo: Vamos a insertar a la tabla EJEMPLO los usuarios con estado activo.



Podemos crear una tabla e insertar datos en ella en una sola sentencia consultando otra tabla (o varias) con esta sintaxis:


Ejemplo: Se crea la tabla EJEMPLO 2 (que no existe)  con los datos de la tabla USUARIO



DML: DELETE

Para eliminar información de una base de datos, debemos borrar datos de las tablas. Para ello, SQL pone a nuestra disposición la sentencia DELETE.

Eliminación de filas; consiste en borrar de una tabla una o más filas.

Podemos distinguir dos formas de eliminar datos:
  • Eliminar todos los registros de una tabla.
  • Eliminar un registro especifico.

Para borrar datos de una tabla, debemos utilizar la sentencia DELETE. Su sintaxis es la siguiente: 


Ejemplo: Permite eliminar uno o más registros de una tabla




DML: TRUNCATE

Para realizar un borrado completo de tabla debemos considerar la posibilidad de utilizar la sentencia TRUNCATE, que es mucho más rápida que DELETE.  Su sintaxis es la siguiente: 


Ejemplo: Elimina todos los registros de la tabla usuarios



NOTA:


  • TRUNCATE no es transaccional. 
  • No se puede deshacer. 
  • TRUNCATE no admite clausula WHERE. 
  • Borra toda la tabla. 
  • No todos los gestores de bases de datos admiten la sentencia TRUNCATE.


DML: UPDATE

Para actualizar datos de una tabla, debemos utilizar la sentencia UPDATE.  Su sintaxis es la siguiente: 


Ejemplo 1



Ejemplo 2



Ejemplo 3





¿Que tal si aplicamos lo que hemos aprendido en este post resolviendo una pequeña actividad?

ACTIVIDAD (BD VENTAS)

Con la base de datos VENTAS que aprendimos a crear en el tema de creación de tablas vamos a resolver la siguiente actividad.


1) Inserte tres (3) registros a todas las tablas.
2) Actualice la descripción del distrito con código ‘D0007’ por ‘Lince’.
3) Inserte el empleado con código ‘E0006’, asegúrese que resida en el distrito con código ‘D0001’.
4) Elimine el distrito con descripción ‘Lince’. ¿Es factible realzar esta actividad? Explique.
5) Elimine el distrito con descripción ‘San Miguel’. ¿Es factible realzar esta actividad? Explique.
6) Cree una tabla llamada Copia_Empleado con la misma estructura de la tabla Empleado.
7) Inserte a la tabla Copia Empleado, todos los empleados de la tabla EMPLEADO, cuyo año de ingreso se encuentre entre los años 2018 y 2019.
8) Actualice el campo CORREO_CLI de la tabla CLIENTE de todos los clientes que no tengan correo electrónico (valor ‘NO REGISTRA’).
9) Actualice el campo fecha de ingreso y el teléfono del empleado con código ‘E0005’.
10) La fecha de ingreso actualícela por la fecha actual y el campo teléfono por el número ‘2471111’.

Solución


SI NO TIENES EL SQL SERVER INSTALADO, PUEDES EJECUTAR EL QUERY  INGRESANDO AL SIGUIENTE ENLACE PARA QUE PUEDAS PRACTICAR SIN LA NECESIDAD DE TENER INSTALADO ALGUNA VERSIÓN DEL SQL SERVER EN TU PC.

RexTester: https://rextester.com/MKP77757

¡Acabas de ver el tema Sentencias DML del curso de Base de Datos en SQL Server! ¡Fácil verdad! Ir al índice

Asimismo, si quieres comprar la guía completa con todos los temas, ejercicios, evaluaciones, proyectos, aplicaciones, banco de datos y más; puedes ingresar al siguiente enlace. Y si eres seguidor accedes a un descuento del -%50.

¡Quiero esto!

No hay comentarios, ¡cuéntame algo!

Me gustaría saber tu opinión. ¡Saludos!