fbpx

SQL (Structured Query Language) o en español Lenguaje Estructurado de Consulta es el lenguaje utilizado para definir, controlar y acceder a los datos almacenados en una base de datos relacional.

Se trata de un lenguaje universal empleado en cualquier sistema gestor de bases de datos relacional, cuenta con un estándar definido a partir del cual cada sistema gestor ha desarrollado una versión propia.

Primeramente clasifiquemos las instrucciones SQL según su propósito en 3 grupos:

DDL (Data Description Language) Lenguaje de Descripción de Datos.
Las sentencias incluidas en este grupo son normalmente usadas por el administrador de la BD (Base de Datos) debido a que permiten definir gran parte del nivel interno de esta. Se trata de sentencias para crear la BD, crear, eliminar o modificar estructura de tablas, definir relaciones entre tablas, entre otras.

DCL (Data Control Language) Lenguaje de Control de Datos.
Las instrucciones de este grupo te permitirán ejercer un control sobre los datos como asignación de privilegios de acceso a los mismos (GRANT/REVOKE) o en el caso de gestión de transacciones (COMMIT/ROLLBACK).

DML (Data Manipulation Language) Lenguaje de Manipulación de Datos.
Este grupo está compuesto por las instrucciones más usadas por el usuario ya que se trata de aquellas que requieren el manejo de datos como insertar nuevos registros, modificar datos existentes, eliminarlos y hasta recuperar datos de la BD. Para este grupo, el usuario solo debe indicar mediante las instrucciones lo que quiere recuperar de la BD y no precisamente el cómo se debe de recuperar puesto que no influye cómo estén almacenados los datos.

SENTENCIAS EN SQL

Estas tienen la característica de que todas deben seguir unos simples patrones:

  1. Se empiezan por un verbo indicando la acción a realizar.
  2. Continúan completando con un objeto sobre el cual se realiza la acción.
  3. Se sigue por una serie de cláusulas, obligatorias y opcionales, que especifican a detalle lo que se quiere hacer.

En el DLL tenemos verbos utilizados en sentencias como:

CREATE (Crear)

La siguiente sentencia nos permite crear una base de datos llamada prueba, que es nuestro objeto en concreto y luego especificar detalles (opcional):

CREATE DATABASE prueba;

Mientras que esta permite crear una tabla llamada tablaPrueba bajo los mismos criterios pero agregando la definición de las columnas de la Tabla en los paréntesis, en este caso creando 3 columnas con distintos tipos de datos:

CREATE TABLE tablaPrueba (
columna1 INT,
columna2 VARCHAR(30),
columna3 DATETIME
);

DROP (Eliminar)

Estas dos sentencias siguientes permiten borrar la BD o la tabla sin necesidad de más especificaciones:

DROP DATABASE prueba;

DROP TABLE tablaPrueba;

ALTER (Modificar)

La siguiente sentencia nos permitirá modificar la definición de la tabla que especifiquemos, en este caso modificamos la tabla para agregar la columna ciudad de tipo varchar:

ALTER TABLE tablaPrueba ADD ciudad varchar(30);

Mientras que en esta sentencia podemos modificar la tabla para que la columna seleccionada pase a ser otro tipo de dato.

ALTER TABLE tablaPrueba ALTER COLUMN ciudad int;

En el DML tenemos los siguientes verbos para utilizar sobre los datos almacenados en sentencias:
INSERT (Insertar una nueva fila de datos)

INSERT INTO Personal (nombre, telefono, direccion)
VALUES ('Juan Manuel Rojas', 15416985, 'Avenida Prolongación de las Américas No. 302');

Si al insertar datos a una tabla estas seguro que vas a utilizar todas las columnas, no es necesario especificarlas y puedes escribir la sentencia ingresando los valores directamente, sin embargo, se debe tener cuidado de poner los valores en el orden de las columnas para que esto funcione.

DELETE (Eliminar filas de datos)

DELETE FROM Personal
WHERE nombre='Juan Manuel Rojas';

Se debe tener cuidado con esta sentencia, el WHERE nos indica qué registro o registros se van a eliminar, si la olvidamos, eliminaremos todos los registros de la tabla. En el caso de este ejemplo se está eliminando el registro del empleado que habíamos insertado anteriormente.

UPDATE (Modificar filas de datos)

UPDATE Personal
SET ciudad='Guadalajara'
WHERE empleadoID=1;

Debemos tener el mismo cuidado y utilizar WHERE para especificar el registro que queremos modificar como con DELETE.

En este ejemplo modificamos de la tabla Personal la columna ciudad donde el Identificador del empleado es igual a 1.

SELECT (Seleccionar, obtener)

SELECT nombre, puesto, sueldo
FROM Personal
WHERE nombre='Daniel'

En este caso utilizamos el verbo para seleccionar los datos mencionados de nuestra tabla Personal (con la cláusula FROM) pero solo en el caso en que los empleados tengan el nombre Daniel (con la cláusula WHERE). Al ejecutar esta sentencia se nos mostrará la tabla con los datos pedidos en dicho caso en particular, de tal forma podemos visualizar los registros con la información que necesitemos.

SQL

Tipos de Datos

Las columnas, variables, expresiones y parámetros en SQL están asociados a un tipo de dato. El tipo de dato nos indica el conjunto de valores válidos para los campos definidos de ese tipo. Es decir, nos indica si los valores aceptado se tratan de caracteres, números enteros, números no exactos, valores monetarios(moneda), de fecha y hora, solo de fecha, entre muchos otros.

Los tipos de datos regularmente son organizados en las siguientes categorías:

  • Numéricos exactos.
  • Cadenas de caracteres Unicode.
  • Valores numéricos aproximados.
  • Cadenas binarias.
  • Fecha y hora.
  • Otros tipos de datos.

Cada tipo de dato puede ser usado en una o muchas situaciones así que seleccionar el adecuado dependerá del desarrollador encargado, por lo regular algunos de los más utilizados son varchar, int y datetime pero no podemos descartar la posibilidad de que algún otro sea mejor según cada caso particular.
A continuación les dejo un enlace a la documentación de Microsoft al respecto en donde pueden encontrar una tabla con todos los tipos de datos y una explicación a detalle de cada uno, así no los agobio poniéndolo todo aquí.

Checa los tipos de datos aquí

Constantes, expresiones y el valor NULL

Algunos de los otros detalles a considerar al momento de utilizar SQL son los siguientes:

Constantes: son valores específicos o incluso un símbolo que representan un valor de dato específico. De las más utilizadas son las constantes numéricas, las de fecha y hora, y las de cadenas de caracteres.
Las numéricas se tratan de una cadena de números, si utilizamos un símbolo como este ($) entonces podríamos considerar nuestra constante como del tipo MONEY.
Las de cadenas de caracteres se escriben entre comillas simples y no tienen alguna otra restricción.
Las de fecha y hora van entre comillas simples y tienen que tener un formato válido de fecha y hora según sea el caso.

Expresiones: se trata de una combinación de operadores y símbolos que el motor de bases de datos utilizado evalúa para obtener un valor único. Puede hacerse uso de expresiones simples o incluso combinar expresiones siempre y cuando ambas tengan el mismo tipo de datos.

Valor NULL: este representa el valor vacío o la ausencia de un valor específico. Con esto nos referimos a que, en ocasiones, puede que no tengamos todos los campos requeridos para completar un registro en nuestra base de datos y, si no son todos requeridos de manera obligatoria, se puede utilizar un valor NULL. Por ejemplo, si en una base de datos se tienen 2 columnas destinadas a teléfonos, uno celular y uno fijo, y una persona no posee alguno de los dos, no podemos ingresar datos en ambas columnas pero tampoco podemos poner un cero por que no sería lo correcto, por lo que poner un NULL en una de las columnas sería lo ideal ya que indica que ese dato no se tiene.
Por lo que es importante tenerlo en cuenta ya que a menudo nos podremos topar con este valor en nuestras bases de datos.

Eso sería todo por esta lección de conceptos básicos, en la siguiente veremos cómo están compuestas las consultas simples, los operadores que podemos utilizar con ellas, cláusulas, uso de algunas funciones y varios ejemplos para que quede todo un poco más claro.

¡Nos leemos hasta otra!

 

Referencias

https://www.w3schools.com/SQl
Documentación sobre SQL de Microsoft: https://docs.microsoft.com/en-us/sql

sorayagami02
Soy una chica gamer que últimamente pasa demasiado tiempo dejando los juegos a medias... !eso no es bueno, eh! Leo fanfics a todas horas del día y tengo fandoms a morir así que, sí, soy toda una fangirl.

Deja un comentario

A %d blogueros les gusta esto: