Codea Blog  

Blog Details

Base de datos - Sublenguaje DML

I. Introducción

Una base de datos se presenta como una herramienta esencial para reunir y estructurar información relacionada en un contexto específico, con el propósito de facilitar su posterior utilización. Dentro de estas bases de datos, es posible almacenar una amplia gama de datos, que van desde información sobre individuos y productos hasta registros de pedidos y mucho más.

 

Para gestionar eficazmente estos conjuntos de datos, se emplean programas conocidos como sistemas gestores de bases de datos, o DBMS por sus siglas en inglés. Estos sistemas permiten el almacenamiento eficiente de datos y el acceso rápido a ellos, manteniendo una organización estructurada. El estudio de las propiedades, usos y administración de estos DBMS se encuentra dentro del ámbito de la informática.

 


 

II. Lenguaje de Manipulación de Datos

El Lenguaje de Manipulación de Datos (Data Manipulation Language, DML) es un conjunto de comandos proporcionado por los sistemas de gestión de bases de datos que habilita a los usuarios para realizar consultas y modificaciones en los datos almacenados en las bases de datos del sistema. El lenguaje de manipulación de datos más ampliamente utilizado en la actualidad es el SQL, que se emplea para recuperar y manipular datos en bases de datos relacionales. También existen otros ejemplos de DML utilizados en sistemas de bases de datos como IMS/DL1, CODASYL y otros.

 

SENTENCIAS

Las sentencias de Lenguaje de Manipulación de Datos (DML) se emplean para controlar la información dentro de las estructuras de datos. Aquí tienes ejemplos de algunas de estas operaciones:

• SELECT: Utilizado para recuperar datos desde una base de datos.

• INSERT: Sirve para añadir nuevos datos a una tabla.

• UPDATE: Modifica registros existentes dentro de una tabla.

• DELETE: Elimina todos los registros de una tabla, pero no libera el espacio asignado a los registros.

 


 

III. APLICACIÓN

SELECT

En un contexto habitual, la tarea más frecuente consiste en extraer datos de tablas alojadas en una base de datos. De inmediato, identificamos dos elementos clave: la necesidad de utilizar "SELECT" para obtener información "FROM" una tabla. Es importante notar que la tabla actúa como un recipiente en la base de datos donde se guarda la información. Para obtener detalles adicionales sobre cómo gestionar tablas, consulte la sección titulada "Manipulación de Tablas". En consecuencia, obtenemos la estructura SQL más fundamental: 

 

SELECT "nombre_columna" FROM "nombre_tabla"

 

A continuación se detalla la tabla Store_Information.

 

Store_Name Sales Txn_Date
Los Angeles 1500 05-Jan-1999
San Diego 250 07-Jan-1999
Los Angeles 300 08-Jan-1999
Boston 700 08-Jan-1999

 

Si deseamos seleccionar la columna Store_Name se procede bajo la siguiente senetencia con su respectivo resultado.

 

SELECT Store_Name FROM Store_Information

 

Resultado:

 

Store_Name
Los Angeles
San Diego
Boston

 

 

 

Es posible elegir múltiples nombres de columnas y también seleccionar desde múltiples tablas.

 

La cláusula "SELECT" especifica qué datos deseamos visualizar o recuperar. La cláusula "FROM" nos indica la fuente, es decir, desde qué tabla. Por último, la cláusula "WHERE" es opcional y se usa para establecer condiciones especiales.

 

En otras palabras, "SELECT" significa seleccionar, "FROM" proviene de, o en otras palabras, de qué lugar, y "WHERE" se refiere a dónde o bajo qué condiciones.

 

Supongamos que queremos identificar a todos los usuarios baneados. Para hacerlo, necesitamos entender cómo se almacenan esos datos.

 

Si examinamos la tabla "user", encontraremos una columna llamada "usergroupid" (puedes ejecutar "SELECT * FROM user" para verla). Sabemos que el grupo de usuario para los baneados es el número 8. Por lo tanto, si en la tabla "user" el grupo principal es 8, significa que el usuario está baneado.

 

SELECT * FROM user WHERE usergroupid=8

 

En SQL, existen principalmente dos métodos fundamentales para agregar datos a una tabla: uno implica insertar una fila a la vez, mientras que el otro implica la inserción de múltiples filas a la vez. Primero, exploremos cómo podemos agregar datos mediante la inserción de una fila individual:La forma de sintaxis para insertar datos en una tabla de manera incremental es la siguiente:

 

Nombre de Columna Tip de Datos
Store_Name char(50)
Sales float
Txn_Date datetime

 

Suponiendo que tenemos una taba con la siguiente estructura,Tabla Store_Information.

INSERT 

Ahora, si deseamos agregar una fila extra a la tabla para registrar los datos de ventas de Los Ángeles el 10 de enero de 1999, cuando el negocio tuvo ventas por un total de $900 dólares estadounidenses, podemos lograrlo utilizando la siguiente instrucción SQL:

 

INSERT INTO Store_Information (Store_Name, Sales, Txn_Date) VALUES ('Los Angeles', 900, '10-Jan-1999');

 

El segundo tipo de instrucción INSERT INTO nos brinda la capacidad de insertar múltiples filas en una tabla. A diferencia del ejemplo anterior, donde insertamos una sola fila proporcionando valores para todas sus columnas, en este caso empleamos la instrucción SELECT para determinar los datos que deseamos agregar a la tabla. Esto implica que estamos utilizando información de otra tabla. La sintaxis se presenta de la siguiente manera:

 

INSERT INTO "tabla1" ("columna1", "columna2")

SELECT "columna3", "columna4"

FROM "tabla2";

           

Por ejemplo, si deseamos crear una tabla llamada Store_Information para recopilar información de ventas del año 1998, y ya conocemos que la fuente de datos se encuentra en la tabla Sales_Information, podemos lograrlo de la siguiente manera:

 

INSERT INTO Store_Information (Store_Name, Sales, Txn_Date)

SELECT Store_Name, Sales, Txn_Date

FROM Sales_Information

WHERE Year (Txn_Date) = 1998;

 

En este caso, hemos empleado la sintaxis propia de SQL Server para obtener información anual basada en fechas. Es esencial tener en cuenta que otras bases de datos relacionales pueden emplear una sintaxis distinta. Por ejemplo, en Oracle, se utilizaría la expresión TO_CHAR(Txn_Date, 'yyyy') = 1998 para lograr el mismo resultado.

 

UPDATE

Una vez que la tabla contiene datos, es posible que surja la necesidad de realizar modificaciones en ellos. Para llevar a cabo esta tarea, empleamos el comando UPDATE. La estructura sintáctica para ejecutar una actualización es la siguiente:

 

La estructura para realizar estas modificaciones es la siguiente:

 

UPDATE "nombre_tabla"

SET "columna_1" = [nuevo valor]

WHERE "condición";

 

Por ejemplo, consideremos la tabla actual:

 

Store_Name Sales Txn_Date
Los Angeles 1500 05-Jan-1999
San Diego 250 07-Jan-1999
Los Angeles 300 08-Jan-1999
Boston 700 08-Jan-1999

 

Supongamos que notamos un error en las ventas para Los Angeles el 08/01/1999, que debería ser de 500€ en lugar de 300€ en dólares estadounidenses. Para corregirlo, empleamos la siguiente sentencia SQL:

 

UPDATE Store_Information

SET Sales = 500

WHERE Store_Name = 'Los Angeles'

AND Txn_Date = '08-Jan-1999';

 

La tabla resultante se verá así:

 

Store_Name Sales Txn_Date
Los Angeles 1500 05-Jan-1999
San Diego 250 07-Jan-1999
Los Angeles 500 08-Jan-1999
Boston 700 08-Jan-1999

 

Es importante destacar que si hay varias filas que cumplen con la condición en la cláusula WHERE, todas serán modificadas.

Además, es posible actualizar múltiples columnas al mismo tiempo, y la sintaxis se vería así:

 

UPDATE "nombre_tabla"

SET colonne 1 = [[valor1], colonne 2 = [valor2]

WHERE "condición";

 

La sentencia UPDATE se utiliza para modificar valores en una tabla y su sintaxis general es:

 

UPDATE nombre_tabla

SET columna1 = valor1, columna2 = valor2 

WHERE columna3 = valor3

 

La cláusula SET establece los nuevos valores para las columnas especificadas, mientras que la cláusula WHERE se utiliza para seleccionar las filas que se deben modificar. Si omitimos la cláusula WHERE, por defecto se modificarán los valores en todas las filas de la tabla.

 

Veamos un ejemplo práctico de cómo utilizar la sentencia SQL UPDATE:

Supongamos que tenemos la siguiente tabla llamada "personas" con la siguiente información:

 

nombre apellido1 apellido2
ANTONIO PEREZ GOMEZ
LUIS LOPEZ PEREZ
ANTONIO GARCIA BENITO
PEDRO RUIZ GONZALEZ

 

 

Por ejemplo, si queremos cambiar el valor "BENITO" en la columna "apellido2" por "RODRIGUEZ" en la tabla "personas", ejecutaríamos:

 

UPDATE personas 

SET apellido2 = 'RODRIGUEZ' 

WHERE nombre = 'ANTONIO' 

AND apellido1 = 'GARCIA' 

AND apellido2 = 'BENITO'

 

Ahora la tabla 'personas' quedará así:

 

 

nombre apellido1 apellido2
ANTONIO PEREZ GOMEZ
LUIS LOPEZ PEREZ
ANTONIO GARCIA RODRIGUEZ
PEDRO RUIZ GONZALEZ

 

 

 

DELETE

La sentencia DELETE FROM se utiliza para eliminar registros de una tabla en función de una condición específica. Su sintaxis básica es:

 

DELETE FROM "nombre_tabla"

WHERE "condición";

 

Por ejemplo, si tenemos una tabla llamada "Store_Information" con datos de ventas y deseamos eliminar todos los registros relacionados con "Los Angeles", podríamos usar la siguiente sentencia SQL:

 

DELETE FROM Store_Information

WHERE Store_Name = 'Los Angeles';

 

Después de ejecutar esta sentencia, los registros de "Los Angeles" se eliminan de la tabla, y la tabla resultante solo contendría los datos de "San Diego" y "Boston".

 

Store_Name Sales Txn_Date
San Diego 250 07-Jan-1999
Boston 700 08-Jan-1999

 

 

 


 

IV. BIBLIOGRAFÍA

Del Estado De Hidalgo, U. A. (s. f.). Aspirantes - UAEH. Universidad Autónoma del Estado de Hidalgo. http://cidecame.uaeh.edu.mx/lcc/mapa/PROYECTO/libro14/index.htmlDel Estado De Hidalgo, U. A. (s. f.). Aspirantes - UAEH. Universidad Autónoma del Estado de Hidalgo. http://cidecame.uaeh.edu.mx/lcc/mapa/PROYECTO/libro14/index.html

Comentarios

Registrate o Inicia Sesión para comentar y obtener Cursos de pago gratis

function loadurl(){ var val1 = document.getElementById("valor3").value; console.log(val1); if(val1){ window.location = "/comunidad/blog/filtrar/"+val1+"/"} }