¡El poder de los datos!

1

¡El poder de los datos!

Fundamentos de Bases de Datos

2

Sistema de Gestión de Bases de Datos

3

¿Qué es una base de datos?

4

¿Qué es SQL?

5

Los comandos SQL más importantes

6

Operaciones básicas en SQL

7

Modelo Entidad Relación (ER)

8

Normalización

Introducción a las bases de datos relacionales

9

Tipos de datos en SQL

10

¿Cómo crear una base de datos en SQL?

11

Buenas practicas de bases de datos con SQL

12

Práctica: Tu primera consulta en bases de datos

Manipulación de Datos

13

Insertando Datos con SQL (INSERT)

14

Práctica: Creación de Tablas en SQL (CREATE TABLE)

15

Consultas y Selecciones en SQL (SELECT)

16

Práctica: SELECT en SQL

17

Eliminación de Datos con SQL (DELETE)

18

Actualización de Datos con SQL (UPDATE)

19

Práctica: CRUD con SQL

Manipulación Avanzada de Datos

20

🛠️ Guía de instalación de MySQL y MySQL Workbench

21

¿Qué es la cláusula WHERE de SQL?

22

Filtrar y Ordenar Datos en SQL (LIKE)

23

Cláusulas de Comparación Textual en SQL (AND, NULL, IN, NOT)

24

Funciones de Aritmética Básica en SQL (COUNT)

25

Funciones de Aritmética Básica en SQL (MIN, MAX)

Agrupación de Datos

26

Agrupación de Datos en SQL: GROUP BY, HAVING y CASE para Análisis Avanzado

27

Tipos de JOIN en SQL

28

¿Cómo funciona INNER JOIN, LEFT JOIN, RIGHT JOIN y FULL JOIN?

Transformación de Datos

29

Vistas Materializadas en SQL: Como optimizar tus consultas y reportes.

30

Vistas Materializadas y Temporales en SQL

31

Expresiones de Tablas Comunes (CTE) en SQL

Procedimientos Almacenados

32

Procedimientos Almacenados en SQL

33

Procedimientos Almacenados en SQL: Gestión de Variables y Manejo de Excepciones

Administración de Base de Datos

34

Respaldos y Restauración de Bases de Datos

Análisis de Datos Avanzados

35

Potenciando los Datos en la Nube: Data Science, Big Data, ML e AI

36

SQL para Análisis de Datos: Primeros pasos con Power BI

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Los comandos SQL más importantes

5/36
Recursos

¿Cuáles son los tipos de agrupación de comandos en bases de datos?

Manipular la estructura y la información de una base de datos es esencial para cualquier desarrollador o administrador de datos. Existen cinco tipos de agrupaciones de comandos con los que puedes interactuar y controlar una base de datos: el Lenguaje de Consulta (DQL), el Lenguaje de Definición de Datos (DDL), el Lenguaje de Manipulación de Datos (DML), el Control de Accesos (DCL), y el Manejo de Transacciones. Estos comandos permiten desde consultar información hasta gestionar transacciones complejas. Aprender a manejarlos te dará más autoridad y control sobre la gestión de datos.

¿Cómo se implementa el lenguaje de consulta de datos?

El Lenguaje de Consulta de Datos, conocido como DQL, permite formular solicitudes de información en una base de datos. Su sintaxis más común es el comando SELECT, acompañado de FROM y el nombre de la tabla que estás consultando. Además, puedes integrar condicionales y funciones avanzadas para refinar tus consultas. Asimismo, el DQL no solo facilita la recuperación de datos sino que simplifica el proceso de uso de funciones complejas.

Ejemplo de sintaxis en SQL:

SELECT columna1, columna2 
FROM nombre_tabla 
WHERE condición;

¿Qué es el lenguaje de definición de estructura?

El Lenguaje de Definición de Datos, o DDL, se enfoca en la estructura de una base de datos. Esto implica crear, modificar o eliminar tablas, procedimientos almacenados, vistas y otros objetos dentro de la base. Emplea varias palabras reservadas que permiten manejar las estructuras de datos al nivel más básico.

Sintaxis común para crear y modificar tablas en SQL:

  • Creación de tablas:

    CREATE TABLE nombre_tabla (
        columna1 tipo_dato,
        columna2 tipo_dato
    );
    
  • Modificación de tablas:

    ALTER TABLE nombre_tabla
    ADD nueva_columna tipo_dato;
    
  • Eliminar tablas:

    DROP TABLE nombre_tabla;
    

¿Qué es el lenguaje de manipulación de datos?

El Lenguaje de Manipulación de Datos, o DML, está diseñado para interactuar con la información interna de las estructuras de base de datos ya creadas. Esto incluye la inserción, la actualización y la eliminación de registros dentro de las tablas.

Operaciones comunes en SQL:

  • Insertar datos en una tabla:

    INSERT INTO nombre_tabla (columna1, columna2) VALUES (valor1, valor2);
    
  • Actualizar datos en una tabla:

    UPDATE nombre_tabla
    SET columna1 = nuevo_valor
    WHERE condición;
    
  • Eliminar registros de una tabla:

    DELETE FROM nombre_tabla WHERE condición;
    

Recuerda que sin un WHERE, los comandos UPDATE y DELETE afectan a todos los registros de la tabla.

¿Cómo se gestionan los controles de acceso en bases de datos?

El Control de Accesos, conocido como DCL, se refiere a cómo otorgar y revocar permisos sobre una base de datos. Esto es crucial para proteger los datos y asegurar que solo los usuarios autorizados puedan acceder y modificar información específica.

Ejemplo de comandos en SQL:

  • Otorgar permisos:

    GRANT SELECT ON nombre_tabla TO usuario;
    
  • Revocar permisos:

    REVOKE SELECT ON nombre_tabla FROM usuario;
    

¿Qué es el lenguaje de control de transacciones?

El Lenguaje de Control de Transacciones está diseñado para manejar operaciones complejas dentro de una base de datos. Es vital para operaciones que requieren un alto control, permitiendo definir puntos de referencia, retroceder cambios o confirmar transacciones usando SAVEPOINT, ROLLBACK y COMMIT.

Conocer y dominar estos comandos no solo te proporciona herramientas esenciales para trabajar con bases de datos, sino que también optimiza esfuerzos y asegura precisión en la gestión de datos.

Aportes 25

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

TIPOS DE COMANDOS SQL, SEGÚN SU PROPÓSITO: ### **1. DQL (Data Query Language)** * **Propósito**: Consultar o recuperar datos de la base de datos. * **Comando principal**: `SELECT` * **Características**: * No modifica datos, solo consulta. * Permite filtrar, ordenar y agrupar información. * Ejemplo:`SELECT * FROM clientes WHERE pais = 'Bolivia'`; ### **2. DDL (Data Definition Language)** * **Propósito**: Definir o modificar la estructura de la base de datos. * **Comandos principales**: * `CREATE` → Crear bases de datos, tablas, índices, vistas, etc. * `ALTER` → Modificar tablas existentes (añadir/eliminar columnas). * `DROP` → Eliminar tablas, bases de datos o vistas. * `TRUNCATE` → Borrar datos de una tabla sin registrar transacciones. * **Ejemplo**:`CREATE TABLE` empleados ( ` id INT PRIMARY` KEY, ` nombre VARCHAR(50`), ` salario DECIMAL(10, 2`) ); ### **3. DML (Data Manipulation Language)** * **Propósito**: Manipular los datos dentro de las tablas. * **Comandos principales**: * `INSERT` → Insertar nuevos registros. * `UPDATE` → Modificar registros existentes. * `DELETE` → Eliminar registros específicos. * **Características**: * Trabaja directamente con los datos almacenados. * Ejemplo:`INSERT INTO empleados (id, nombre, salario) VALUES (1, 'Juan', 5000`); ### **4. DCL (Data Control Language)** * **Propósito**: Controlar el acceso y los permisos de los usuarios. * **Comandos principales**: * `GRANT` → Conceder permisos. * `REVOKE` → Revocar permisos. * **Ejemplo**:`GRANT SELECT, INSERT ON empleados TO` usuario1; ### **5. TCL (Transaction Control Language)** * **Propósito**: Controlar transacciones para mantener la consistencia en la base de datos. * **Comandos principales**: * `COMMIT` → Guardar los cambios realizados. * `ROLLBACK` → Deshacer cambios no confirmados. * `SAVEPOINT` → Crear puntos de control en una transacción. * `SET TRANSACTION` → Configurar propiedades de la transacción. * **Ejemplo**:`BEGIN`; `UPDATE empleados SET salario = 5500 WHERE id = 1`; `ROLLBACK; -- Deshace el cambio`
**DQL: Lenguaje de consulta de datos Data Query language** `SELECT nombre, edad ` `FROM estudiantes ` `WHERE edad > 18;` **DML: Lenguaje de manipulación de los datos** Data Manipulation Language. `INSERT INTO estudiantes (id, nombre,` `edad (1,'Juan', 20);` `UPDATE estudiantes SET = 21 WHERE ` `id = 1;` `DELETE FROM estudiantes WHERE id=1;` **DDL: Lenguaje de definición de datos** Data Definition Language `Create Table estudiantes (id INT, nombre` `varchar(50), edad INT);` `ALTER TABLE estudiantes ADD columna_grado` `VARCHAR(10);` `DROP TABLE estudiantes;` **DCL: lenguaje de control de datos** Data Control Language. Usuarios y errores. `GRANT SELECT ON estudiantes TO usuario1;` `REVOKE SELECT ON estudiantes FROM usuario;` **TCL: Lenguaje de control de transacciones Transaction Control Language** `COMMIT; ` `ROLLBACK; ` `SAVEPOINT puntoA;`
Mis aportes: ![](https://static.platzi.com/media/user_upload/image-b866ef2f-09a3-4154-b2b3-00dc5620f2b2.jpg)
# Recomendación: si por casualidad llegan a leer mi comentario, les recomiendo [sqlbolt.com](https://sqlbolt.com/) es una pagina genial para aprender sobre la sintaxis de SQL de forma interactiva ya que te dan retos con sus tablas y playground para practicar de forma muy fácil 😎.
## What are SQL Commands? **SQL Commands** are like instructions to a table. It is used to interact with the database with some operations. It is also used to perform specific tasks, functions, and queries of data. SQL can perform various tasks like creating a table, adding data to tables, dropping the table, modifying the table, set permission for users. **SQL Commands are mainly categorized into five categories:** * **DDL** – Data Definition Language * **DQL** – Data Query Language * **DML** – Data Manipulation Language * **DCL** – Data Control Language * **TCL** – Transaction Control Language ![](https://media.geeksforgeeks.org/wp-content/uploads/20210920153429/new.png)
## **Comandos SQL** Para manejar una base de datos de manera efectiva, SQL tiene diferentes tipos de comandos: 1. **DQL (Data Query Language)**: Interactúa principalmente con el comando `SELECT` para recuperar datos. ```txt # Consultas SELECT nombre, edad FROM estudiantes WHERE edad > 18; ``` **2. DDL (Data Definition Language)**: Se utiliza para definir la estructura de la base de datos, por ejemplo, crear tablas. ```txt # Crear una tabla Create Table estudiantes (id INT, nombre varchar(50), edad INT); # Modificar estructura de tabla ALTER TABLE estudiantes ADD columna_grado VARCHAR(10); # Eliminar tabla DROP TABLE estudiantes; ``` **3. DML (Data Manipulation Language)**: Permite manipular los datos dentro de las tablas, utilizando los comandos `INSERT`, `UPDATE`, y `DELETE`. ```txt INSERT INTO estudiantes (id, nombre, edad (1,'Juan', 20); UPDATE estudiantes SET = 21 WHERE id = 1; DELETE FROM estudiantes WHERE id=1; """NOTA: Si no se coloca WHERE se modifican o eliminan todos los registros de la tabla""" ``` **4. DCL (Data Control Language)**: Gestiona los permisos de acceso a los datos. ```txt # Otorga permisos a un usuario en especifico COMMIT; ROLLBACK; SAVEPOINT puntoA; # En este caso se otorgan permisos de consultas (SELECT) para la tabla estudiantes al usuario1 GRANT SELECT ON estudiantes TO usuario1; # Tambien podemos revocar los permisos REVOKE SELECT ON estudiantes FROM usuario; ``` **5. TCL (Transaction Control Language)**: Maneja las transacciones, asegurando la consistencia y confiabilidad. ```txt COMMIT; ROLLBACK; SAVEPOINT puntoA; ```
Aquí les dejo mi aporte:![](https://static.platzi.com/media/user_upload/image-c140cbbf-a93c-4943-a723-c0dee6952390.jpg) ![](https://static.platzi.com/media/user_upload/image-8d6a5ce5-b728-433c-824c-5554aa97d966.jpg) ![](https://static.platzi.com/media/user_upload/image-09ba2116-e0aa-4102-94cd-451ed0014fdf.jpg) ![](https://static.platzi.com/media/user_upload/image-c23d5ce3-a654-4244-8bc5-42d1a56c956a.jpg) ![](https://static.platzi.com/media/user_upload/image-1d101190-96de-4ece-a8b4-c4666e1034fb.jpg)
Siguiendo con el curso que está muy interesante. Gracias Platzi.
En esta clase se explican los cinco tipos de comandos SQL: 1. **DQL (Lenguaje de Consulta de Datos)**: Utiliza el comando `SELECT` para consultar datos. 2. **DDL (Lenguaje de Definición de Datos)**: Se encarga de crear, modificar o eliminar estructuras como tablas, usando comandos como `CREATE`, `ALTER`, y `DROP`. 3. **DML (Lenguaje de Manipulación de Datos)**: Maneja los datos dentro de las estructuras con comandos como `INSERT`, `UPDATE`, y `DELETE`. 4. **DCL (Lenguaje de Control de Datos)**: Controla el acceso a los datos mediante `GRANT` y `REVOKE`. 5. **Control de Transacciones**: Gestiona operaciones complejas con `SAVEPOINT`, `ROLLBACK` y `COMMIT`. Cada uno tiene su sintaxis y funciones específicas importantes para el manejo de bases de datos.
* COMANDOS 1. **DQL *(Data Query Language)*: *Consultar o “preguntar”*** a la base de datos. Se usa para ver los datos que ya existen. *Ejemplo:* `SELECT`*.* 2. **DDL *(Data Definition Language)***: ***Crear o modificar*** la **estructura** de la base de datos (tablas, columnas, etc.). 1. `CREATE`: crea tablas, bases de datos, etc. 2. `ALTER`: modifica estructuras ya existentes. 3. `DROP`: borra estructuras completas. 3. **DML \*(Data Manipulation Language)**:\* ***Agregar, cambiar o borrar*** **datos** (no estructura). 1. `INSERT`: agrega nuevos datos. 2. `UPDATE`: modifica datos existentes. 3. `DELETE`: elimina datos. 4. **DCL (Data Control Language)**: *Dar o quitar **permisos*** sobre los datos (quién puede ver o modificar). 1. `GRANT`: da permisos a usuarios. 2. `REVOKE`: quita permisos. 5. **TCL \*(Transaction Control Language)**:\* Controla los **bloques de acciones** que deben ejecutarse todas juntas o no ejecutarse en absoluto. 1. `COMMIT`: guarda los cambios. 2. `ROLLBACK`: deshace los cambios. 3. `SAVEPOINT`: crea un “punto de guardado” dentro de una transacción
El DCL, o Lenguaje de Control de Datos, es uno de los cinco tipos de comandos SQL. Se utiliza para gestionar los permisos de acceso a los datos en la base de datos. Los comandos principales en DCL son: 1. **GRANT**: Permite otorgar permisos a un usuario específico para realizar ciertas acciones, como seleccionar, insertar o modificar datos en una tabla. 2. **REVOKE**: Revoca esos mismos permisos a un usuario, limitando su acceso a los datos. Esto es esencial para mantener la seguridad y el control dentro de las bases de datos.
DML, o Lenguaje de Manipulación de Datos, se utiliza para gestionar la información dentro de las bases de datos. Sus principales comandos son: - **INSERT**: Agregar nuevos registros a una tabla. - **UPDATE**: Modificar registros existentes. - **DELETE**: Eliminar registros de una tabla. DML permite interactuar de manera dinámica con los datos. Es crucial para realizar operaciones en las bases de datos, complementando el DDL (que se usa para definir la estructura).
DDL, o Lenguaje de Definición de Datos, es una parte del SQL que se utiliza para definir la estructura de las bases de datos. Permite crear, modificar y eliminar objetos de la base de datos, como tablas y vistas. Los comandos principales del DDL incluyen: - **CREATE**: para crear nuevos objetos. - **ALTER**: para modificar objetos existentes. - **DROP**: para eliminar objetos. Es fundamental para gestionar la estructura de tus datos en cualquier sistema de bases de datos.
Lo que se mencionó en esta clase es muy importante... No te olvides de poner el WHERE en el DELETE FROM Incluso hay una canción para ello muy graciosa jajaja <https://www.youtube.com/watch?v=i_cVJgIz_Cs>
Para usar los comandos SQL de la clase, aquí tienes ejemplos útiles: 1. **DQL (Lenguaje de Consulta de Datos)**: - `SELECT * FROM estudiantes WHERE grado = '10';` - Consulta todos los estudiantes en grado 10. 2. **DDL (Lenguaje de Definición de Datos)**: - `CREATE TABLE cursos (id INT, nombre VARCHAR(100));` - Crea una tabla para cursos. - `ALTER TABLE estudiantes ADD fecha_nacimiento DATE;` - Agrega una columna para la fecha de nacimiento. - `DROP TABLE cursos;` - Elimina la tabla cursos. 3. **DML (Lenguaje de Manipulación de Datos)**: - `INSERT INTO estudiantes (nombre, grado) VALUES ('Juan', '10');` - Inserta un nuevo estudiante. - `UPDATE estudiantes SET grado = '11' WHERE nombre = 'Juan';` - Actualiza el grado del estudiante Juan. - `DELETE FROM estudiantes WHERE nombre = 'Juan';` - Elimina al estudiante Juan. 4. **DCL (Lenguaje de Control de Datos)**: - `GRANT SELECT ON estudiantes TO usuario1;` - Otorga permiso de lectura a usuario1. - `REVOKE SELECT ON estudiantes FROM usuario1;` - Revoca el permiso. 5. **Control de Transacciones**: - `BEGIN;` - Inicia una transacción. - `COMMIT;` - Confirma los cambios realizados. - `ROLLBACK;` - Revierte los cambios. Estos ejemplos son prácticos y reflejan cómo manipular la estructura y los datos de una base de datos.
En esta clase se abordaron los cinco tipos de comandos SQL: 1. **DQL (Lenguaje de Consulta de Datos)**: Utilizado para consultar datos, representado por el comando `SELECT`. 2. **DDL (Lenguaje de Definición de Datos)**: Permite crear, modificar y eliminar la estructura de las tablas, con comandos como `CREATE`, `ALTER` y `DROP`. 3. **DML (Lenguaje de Manipulación de Datos)**: Usado para insertar, actualizar y eliminar registros en las tablas, con comandos como `INSERT`, `UPDATE`, y `DELETE`. 4. **DCL (Lenguaje de Control de Datos)**: Permite gestionar permisos de acceso a los datos mediante `GRANT` y `REVOKE`. 5. **Control de Transacciones**: Asegura el manejo eficaz de las transacciones en procedimientos complejos, utilizando comandos como `SAVEPOINT`, `ROLLBACK` y `COMMIT`. Se enfatizó la importancia de usar correctamente cada tipo para optimizar y gestionar datos de manera eficiente.
La clase se centra en los tipos de comandos SQL, agrupándolos en cinco categorías: 1. **DQL (Lenguaje de Consulta de Datos)**: Se refiere a la consulta de información mediante el comando `SELECT`. 2. **DDL (Lenguaje de Definición de Datos)**: Utilizado para crear, modificar o eliminar estructuras de base de datos con comandos como `CREATE`, `ALTER` y `DROP`. 3. **DML (Lenguaje de Manipulación de Datos)**: Permite manipular los datos en las tablas a través de comandos como `INSERT`, `UPDATE` y `DELETE`. 4. **DCL (Lenguaje de Control de Datos)**: Se enfoca en la gestión de permisos con `GRANT` y `REVOKE`. 5. **Control de Transacciones**: Permite manejar transacciones complejas con comandos como `SAVEPOINT` y `COMMIT`. Cada comando tiene una sintaxis específica que se verá en prácticas futuras.
Para ver los permisos que tiene un usuario en una base de datos, puedes utilizar el comando `SHOW GRANTS FOR 'usuario'@'host';` en MySQL. Este comando te mostrará todos los privilegios que tiene ese usuario en la base de datos. En SQL Server, puedes usar la consulta: ```sql SELECT * FROM sys.database_permissions WHERE grantee_principal_id = USER_ID('nombre_del_usuario'); ``` Esto te permitirá listar los permisos que el usuario tiene en la base de datos actual.
En DDL (Data Definition Language), se utilizan principalmente los siguientes comandos: 1. **CREATE**: Crea nuevas tablas, vistas o índices. 2. **ALTER**: Modifica la estructura de tablas existentes (agregar, modificar o eliminar columnas). 3. **DROP**: Elimina tablas, vistas o índices del sistema. Estos comandos permiten definir y modificar la estructura de la base de datos de manera eficiente.
Los comandos SQL se dividen en cinco tipos: 1. **DQL (Data Query Language)**: - **Descripción**: Se usa para consultar datos. - **Ejemplo**: `SELECT * FROM estudiantes;` - **Pros**: Flexible y fácil de usar. - **Contras**: Puede ser lento con grandes conjuntos de datos. 2. **DDL (Data Definition Language)**: - **Descripción**: Define la estructura de la base de datos. - **Ejemplo**: `CREATE TABLE estudiantes (id INT, nombre VARCHAR(50));` - **Pros**: Fundamental para la creación de esquemas. - **Contras**: Cambios pueden ser destructivos. 3. **DML (Data Manipulation Language)**: - **Descripción**: Manipula datos existentes. - **Ejemplo**: `INSERT INTO estudiantes (id, nombre) VALUES (1, 'Juan');` - **Pros**: Permite actualizaciones y eliminaciones fácilmente. - **Contras**: Puede llevar a errores si no se maneja adecuadamente. 4. **DCL (Data Control Language)**: - **Descripción**: Controla el acceso de los usuarios a los datos. - **Ejemplo**: `GRANT SELECT ON estudiantes TO usuario1;` - **Pros**: Mejora la seguridad de los datos. - **Contras**: Puede ser complejo de gestionar en grandes sistemas. 5. **TCL (Transaction Control Language)**: - **Descripción**: Maneja transacciones en la base de datos. - **Ejemplo**: `COMMIT;` o `ROLLBACK;` - **Pros**: Asegura la integridad de los datos. - **Contras**: Puede complicar la lógica de la aplicación si no se entiende bien. Cada tipo tiene su función específica, y su uso depende de las necesidades de la base de datos y las operaciones requeridas.
Buena clase
Después de ver esta clase entiendo el chiste interno meme de SQL, el de DELETE FROM sin el WHERE. Espero nunca borrar registros de esa manera por error.
**Subconjuntos del lenguaje SQL:** * **DQL:** Permite extraer, consultar información de la base de datos. * **DDL:** Permite crear la estructura de la base de datos, crear la base de datos, esquemas, tablas, modificar o eliminarlas. * **DML:** Permite insertar, actualizar o borrar los registros o tuplas de la base de datos. * **DCL:** Permite conceder o anular permisos a los usuarios, control de permisos y roles. * **TCL:** Permite manejar las transacciones, una transacción es la agrupación de diferentes operaciones realizadas en un solo concepto, la cual se verifica que se realicen todas o si alguna falla que ninguna se aplique.
Algunos puntos que me perdí: CREATE USER: para poder generar usuarios TRUNCATE TABLE: que no se muestra pero permite eliminar todas las filas de una tabla sin dar un nombre de cada fila
Here I want to make a small incision `COMMIT` and `ROLLBACK` are essential for managing transactions, ensuring data integrity, handling errors, controlling concurrency, aiding in recovery, maintaining consistency and durability, implementing business logic, and facilitating debugging and testing. Understanding and properly using these commands is critical for effective database management and application development.