0% encontró este documento útil (0 votos)
3 vistas11 páginas

Tipos de Datos y Comandos SQL Esenciales

El documento describe los tipos de datos en bases de datos, las prácticas recomendadas para su uso y los comandos fundamentales para la creación, manipulación y consulta de bases de datos. Se abordan las lenguajes de definición, manipulación, consulta, control y transacciones, así como funciones y comandos para agregar y agrupar datos. También se explican los tipos de JOINs para combinar datos de múltiples tablas.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
3 vistas11 páginas

Tipos de Datos y Comandos SQL Esenciales

El documento describe los tipos de datos en bases de datos, las prácticas recomendadas para su uso y los comandos fundamentales para la creación, manipulación y consulta de bases de datos. Se abordan las lenguajes de definición, manipulación, consulta, control y transacciones, así como funciones y comandos para agregar y agrupar datos. También se explican los tipos de JOINs para combinar datos de múltiples tablas.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

TIPOS DE DATOS:

1) NUMÉRICOS

2) TEXTUALES

3) FECHAS Y HORAS

4) LÓGICOS

 Buenas prácticas
- Eficiencia de almacenamiento: No usar BIGINT si INT es
suficiente.
- Precisión: Usar DECIMAL(10,2) en vez de FLOAT para dinero.
- Compatibilidad: NVARCHAR si se necesitan caracteres
especiales.
CREACIÓN DE UNA BASE DE DATOS:
1) DATA DEFINITION LANGUAGE (Definir y modificar la estructura de
objetos de la base de datos)
1.1) CREATE: Crea una nueva bases de datos, esquema, tabla, vista,
procedimiento almacenado, etc.
o CREATE DATABASE BaseDeDatosPrueba;
o CREATE SCHEMA Ventas;
o CREATE TABLE [Link] (
ID INT PRIMARY KEY,
ClienteID INT,
Total DECIMAL(10,2)
);

1.2) DROP: Elimina completamente una bases de datos, esquema,


tabla, etc.
o DROP DATABASE BaseDeDatosPrueba;
o DROP SCHEMA Ventas;
o DROP TABLE Ventas;

1.3) ALTER: Modifica objetos de la base de datos que ya estén


creados.
o ALTER DATABASE MiBaseDeDatos MODIFY NAME =
NuevaBaseDeDatos;
o ALTER TABLE Clientes ADD Direccion VARCHAR(255);
o ALTER TABLE Clientes ALTER COLUMN Direccion
NVARCHAR(500) NOT NULL;

2) DATA MANIPULATION LANGUAGE (Insertar, actualizar y eliminar datos


en las tablas)
1.1) INSERT: Agrega nuevas filas a una tabla.
o INSERT INTO Clientes (ID, Nombre, Email)
VALUES (1, 'Juan Pérez', 'juan@[Link]');
o INSERT INTO Clientes (ID, Nombre, Email)
VALUES
(2, 'María López', 'maria@[Link]'),
(3, 'Carlos Gómez', 'carlos@[Link]');

2.1) UPDATE: Modifica registros existentes en una tabla.


o UPDATE Clientes
SET Email = 'nuevo@[Link]'
o UPDATE Clientes
SET Email = ‘juan2040@[Link]', Nombre = ‘Alberto
Castro Ramirez'
WHERE ID = 1;

3.1) DELETE: Elimina registros específicos de una tabla.


o DELETE FROM Clientes;
o DELETE FROM Clientes
WHERE ID = 1;
o DELETE FROM Pedidos
WHERE ID = 468;

3) DATA QUERY LANGUAGE (Consultar y analizar datos en las tablas)


4.1) SELECT: : Comando usado para seleccionar datos (campos de
una tabla, funciones, cálculos o valores estáticos). Se utiliza
acompañado de otros comandos para realizar análisis.
o SELECT * FROM Ventas.h_visualizacion
4) DATA CONTROL LANGUAGE (Gestionar permisos y accesos sobre
objetos de la base de datos)
5.1) GRANT: Concede permisos a un usuario o rol.
o GRANT SELECT, INSERT, UPDATE ON TablaClientes TO Usuario1;
o GRANT ALL ON TablaClientes TO Usuario2;

6.1) REVOKE: Revoca/retira permisos otorgados anteriormente.


o REVOKE INSERT, UPDATE ON TablaClientes FROM Usuario1;
o REVOKE ALL ON TablaClientes FROM Usuario2;

5) TRANSACTION CONTROL LANGUAGE


7.1) COMMIT: Confirma una transacción, guardando de forma
permanente los cambios.
o BEGIN TRANSACTION;
UPDATE productos SET stock = stock - 10;
COMMIT;

8.1) ROLLBACK: Deshace los cambios realizados en una transacción


si algo sale mal antes de confirmar.
o BEGIN TRANSACTION;
UPDATE productos SET stock = stock - 10;
ROLLBACK;

9.1) SAVEPOINT: Crea un punto de guardado dentro de una


transacción para hacer un ROLLBACK parcial.

COMANDOS FUNDAMENTALES PARA CONSULTAR DATOS


1) SELECT Y FROM:
1.1) SELECT: Sirve para especificar qué datos deben extraerse
desde una tabla.
1.2) FROM: Sirve para especificar de qué tabla se extraerán los
datos.
o SELECT * FROM Clientes
o SELECT id, nombre FROM Clientes

2) ALIAS, TOP Y DISTINCT:


10.1) AS: Sirve para renombrar columnas o tablas en una consulta.
o SELECT nombre AS empleado, salario AS sueldo
FROM empleados;
o SELECT nombre empleado, salario sueldo
FROM empleados e; (implícito)

11.1) TOP: Limita la cantidad de registros devueltos en la consulta.


o SELECT TOP 20 *
FROM empleados;
o SELECT TOP 5
nombre, salario
FROM empleados;
12.1) DISTINCT: Elimina duplicados en los resultados. Muestra los
valores únicos en una columna.
o SELECT DISTINCT nombre
FROM empleados;
o SELECT DISTINCT
nombre, edad
FROM empleados;

3) ODER BY: Permite ordenar los resultados según una o más columnas.
13.1) Orden Ascendente(ASC): De menor a mayor o por orden
alfabético.
o SELECT *
FROM empleados
ORDER BY salario;
14.1) Orden Descendente(DESC): De mayor a menor.
o SELECT *
FROM empleados
ORDER BY salario DESC;

4) WHERE: Filtra los resultados según condiciones. Estas condiciones


actúan como un filtro que determina qué filas deben ser incluidas en
el resultado de la consulta. Para aplicar condiciones, se usan
operadores.
o SELECT nombre, edad
FROM empleados
WHERE edad > 30;

5) OPERADORES:
15.1) OPERADORES DE COMPARACIÓN I: Se utilizan para comparar
dos valores y devolver un resultado booleano (TRUE o FALSE).
o =: Igual a
o <> : No igual a (diferente a)
o <: Menor que
o >: Mayor que
o <= : Menor o igual que
o >= : Mayor o igual que
16.1) OPERADORES DE COMPARACIÓN II:
o IN : verifica si un valor dado está presente en un conjunto de
valores
o NOT IN : verifica si un valor dado no está presente en un
conjunto de valores
o BETWEEN : verifica si un valor dado está presente en un rango
de valores
o NOT BETWEEN : verifica si un valor dado no está presente en
un rango de valores
o IS NULL : verifica si un valor en una columna es nulo
o IS NOT NULL : verifica si un valor en una columna NO es nulo
17.1) OPERADORES ARITMÉTICOS: Se utilizan para realizar
operaciones matemáticas en valores numéricos.
o +: Suma
o -: Resta
o *: Multiplicación
o /: División
o %: Módulo (resto de la división)
18.1) OPERADORES DE COINCIDENCIA DE PATRONES: Se utilizan para
realizar comparaciones basadas en patrones de texto.
o LIKE: Para comparar una cadena con un patrón utilizando
comodines.
Comodines:
 % (porcentaje): representa cero o más caracteres en un
texto. Ejm: 'abc%’ coincidirá con cualquier texto que
comience con "abc", seguido de cualquier
cantidad de caracteres.
 _ (guión bajo): representa un solo carácter en un texto.
Ejm: 'a_' coincidirá con cualquier texto que comience con
"a", seguido de un solo carácter.
 [ ] (corchetes): representa un conjunto de caracteres
posibles en una posición determinada.
 Ejm: ‘[abc]’ coincidirá con cualquier texto que contenga "a",
"b" o "c" en esa posición.
 [^ ] (corchetes negados): representa un conjunto de
caracteres que no deben aparecer en unaposición
determinada.
 Ejm: ‘[^abc]’ coincidirá con cualquier texto que no
contenga ninguno de los caracteres "a", "b" o "c" en esa
posición.
19.1) OPERADORES LÓGICOS: Se utilizan para combinar condiciones
y devolver un resultado booleano.
o AND : Devuelve TRUE si ambas condiciones son TRUE.
o OR : Devuelve TRUE si al menos una de las condiciones es
TRUE.
o NOT : Invierte el resultado de una condición.

FUNCIONES
1) FUNCIONES MATEMÁTICAS: Amplían las capacidades de cálculo de los
operadores básicos.
2) FUNCIONES DE TEXTO: Permite transformar textos u obtener
información sobre textos.

3) FUNCIONES DE FECHA Y HORA: Permite transformar fechas u obtener


información sobre fechas.

4) FUNCIONES DE CONTROL DE FLUJO: Permite controlar lógicas en


consultas.

5) FUNCIONES DE CONVERSIÓN: Permite transformar unos tipos de


datos en otros.

En la práctica, CONVERT se utiliza


principalmente para transformar
textos que representan fecha a
formatos DATE o DATETIME.
6) FUNCIONES DE FORMATEO: Permite cambiar la forma en la que se
muestran los datos numéricos y fechas.

FUNCIONES DE AGREGACIÓN
1) FUNCIONES DE AGREGACIÓN
Se utilizan para realizar un cálculo sobre un conjunto de datos y
devuelven un solo resultado. Son ampliamente utilizados en análisis,
reportes y generación de métricas por permitir resumir datos.
1.1) COUNT(): Devuelve la cantidad de filas que cumplen una
condición. Se usa para contar registros en una tabla.
o SELECT COUNT(*) AS total_ventas
FROM ventas;
o SELECT COUNT(id_venta) AS total_ventas
FROM ventas;
o SELECT COUNT(DISTINCT cliente_id) AS total_clientes
FROM ventas;
Usarlo cuando:
- Contar registros en una base de datos.
- Determinar cuántos valores únicos existen en una columna.
- Evaluar la cantidad de órdenes o transacciones realizadas.

2.1) SUM(): Calcula la suma total de los valores en una columna


numérica. Se usa para sumar valores en una tabla.
o SELECT SUM(precio) AS ingresos_totales
FROM ventas;
Usarlo cuando:
- Calcular ingresos totales, gastos o montos en finanzas.
- Determinar el total de productos vendidos en retail.
- Evaluar el consumo de recursos en una empresa.

3.1) AVG(): Calcula el valor promedio de una columna numérica. Se


usa para promediar valores en una tabla.
o SELECT AVG(precio) AS precio_promedio
FROM ventas;
Usarlo cuando:
- Calcular el precio promedio de productos o servicios.
- Obtener los gastos promedios en una empresa.
- Evaluar tiempos promedio de respuesta en atención al cliente.
4.1) MIN(): Encuentra el valor más bajo en una columna. Se usa
para encontrar el valor mínimo en una columna de una tabla.
Cuando se aplican sobre datos de tipo texto, SQL los compara en
orden alfabético.
o SELECT MIN(precio) AS precio_minimo
FROM ventas;
o SELECT MIN(fecha) AS primera_venta
FROM ventas;
Usarlo cuando:
- Encontrar el menor precio de productos.
- Determinar la fecha más antigua de un evento.
- Identificar el salario más bajo en una empresa.

5.1) MAX(): Encuentra el valor más alto en una columna. Se usa


para encontrar el valor máximo en una columna de una tabla.
Cuando se aplican sobre datos de tipo texto, SQL los compara en
orden alfabético.
o SELECT MAX(precio) AS precio_maximo
FROM ventas;
o SELECT MAX(fecha) AS ultima_venta
FROM ventas;
Usarlo cuando:
- Identificar el producto o servicio más caro.
- Encontrar la última fecha de un evento.
- Evaluar el mayor monto gastado por un cliente.
RESUMEN:
o SELECT
COUNT(*) as cantidad_compras,
SUM(precio) AS monto_total_vendido,
AVG(precio) AS precio_promedio,
MIN(precio) AS precio_minimo,
MAX(precio) AS precio_maximo
o FROM ventas;

2) GROUP BY: Comando usado junto con las funciones de agregación


para agrupar filas que tienen valores comunes en una o más
columnas y que permite aplicar funciones de agregación a cada grupo
resultante.
CÓMO USARLO:
- Generalmente, se indican primero loscampos para agrupar, y
luego las funciones de agregación a aplicar.
- La idea es que los campos usados sirvan como *cortes* para
obtener insights al analizar los resultados.
- Si utilizas más de 1 campo para agrupar, serviría más analizar
los resultados con un gráfico.
o SELECT
ciudad,
COUNT(*) as cantidad_compras,
SUM(precio) AS monto_total_vendido,
AVG(precio) AS precio_promedio,
MIN(precio) AS precio_minimo,
MAX(precio) AS precio_maximo
FROM ventas
GROUP BY
ciudad;
3) HAVING: Comando que se utiliza junto con la cláusula GROUP BY para
filtrar grupos de filas basados en una condición aplicada a los
resultados de las funciones de agregación.
o SELECT
ciudad,
COUNT(*) as cantidad_compras,
SUM(precio) AS monto_total_vendido,
AVG(precio) AS precio_promedio,
MIN(precio) AS precio_minimo,
MAX(precio) AS precio_maximo
FROM ventas
GROUP BY
ciudad
HAVING
AVG(precio) > 10;

DIFERENCIAS CON WHERE:


- WHERE filtra filas individuales antes de que se aplique la
agregación.
- HAVING filtra grupos de filas después de que se han aplicado
las funciones de agregación.
BUENAS PRÁCTICAS AGRUPANDO DATOS:
- Usa WHERE para filtrar antes de agrupar y HAVING solo para
funciones de agregación.
- Agrupa solo por las columnas necesarias para evitar
sobrecarga de procesamiento.
- Si quieres analizar varias columnas a la vez, evalúa apoyarte
de gráficos.
- Usa WITH si necesitas referenciar alias en HAVING.
- Considera ROLLUP y CUBE para análisis avanzados.
- Agrega índices en las columnas clave para mejorar el
rendimiento.
CONSULTANDO MÚLTIPLES TABLAS
1) JOINs: Comando que se utiliza para combinar filas
de dos o más tablas en una base de datos. Para
combinar los datos de las tablas se deben
especificar condiciones.
Usarlo cuando:
- Cuando los datos estándistribuidos en varias
tablasnormalizadas.
- Para consolidar información de distintas fuentes en una
consulta.
- En reportes que requieren datos de distintas dimensiones o
hechos.
TIPOS DE JOINs
1.1) INNER JOIN: Comando que devuelve sólo las
filas donde existe una coincidencia en
ambas tablas. Se puede utilizar también solo
“JOIN” como equivalente. Se usa cuando
queremos ver solo los clientes que tienen
pedidos.
o SELECT [Link], [Link], [Link], [Link]
FROM Customers c
INNER JOIN Orders o
ON [Link] = [Link];

1.2) LEFT JOIN: Comando que devuelve todas las


filas de la tabla izquierda y las filas
coincidentes de la tabla derecha. Si no hay
coincidencia, se rellenan con NULL los
campos de la tabla derecha. Se puede utilizar
también “LEFT OUTER JOIN” como equivalente. Se usa cuando
queremos ver todos los empleados, aunque no tengan
departamento asignado.
o SELECT [Link], [Link], [Link]
FROM Employees e
LEFT JOIN Departments d
ON [Link] = [Link];

1.3) RIGHT JOIN: Comando que devuelve todas las


filas de la tabla derecha y las filas
coincidentes de la tabla izquierda. Si no hay
coincidencia, se rellenan con NULL los
campos de la tabla izquierda. Se puede
utilizar también “RIGHT OUTER JOIN” como equivalente. Se usa
para mostrar todos los departamentos y los empleados que
trabajan en ellos, incluyendo los departamentos sin empleados.
o SELECT [Link], [Link], [Link]
FROM Employees e
RIGHT JOIN Departments d
ON [Link] = [Link];

1.4) FULL JOIN: Comando que devuelve todas las


filas de ambas tablas, con coincidencias
donde existan y NULL cuando no hay
coincidencia.
Se puede utilizar también “FULL OUTER JOIN” como
equivalente. Se usa cuando queremos ver todos los clientes y
todos los pedidos, incluso aquellos que no tienen coincidencia.
o SELECT [Link], [Link], [Link], [Link]
FROM Customers c
FULL JOIN Orders o
ON [Link] = [Link];

1.5) CROSS JOIN: Comando que devuelve el


producto cartesiano de ambas tablas,
Cada fila de la tabla1 se combina con
cada fila de la tabla2.
No requiere especificar una condición en
el comando ON. Se usa cuando queremos generar
combinaciones entre dos conjuntos de datos sin relación
directa.
o SELECT [Link], [Link]
FROM Products p
CROSS JOIN Stores s;

También podría gustarte