¡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

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

21/36
Recursos

¿Por qué utilizar MySQL para análisis de datos?

MySQL se destaca como una de las plataformas más populares en el ámbito del análisis de datos, gracias a su robustez y flexibilidad. A diferencia de SQL Lite, MySQL implementa reglas más estrictas, lo que ayuda a mantener la integridad y calidad de los datos. Al trabajar con MySQL, se evita, por ejemplo, dejar campos como el Primary Key y identificadores nulos, garantizando así bases de datos bien estructuradas y confiables.

Además, MySQL ofrece un entorno de trabajo en consola donde se pueden practicar consultas complejas y manipulaciones de datos, lo que resulta esencial para desarrolladores y analistas de datos. Es altamente recomendable configurar adecuadamente el entorno al instalar MySQL, crear bases de datos y tablas desde cero, y usar herramientas como ChatGPT para generar ejemplos de registros a insertar.

¿Cómo utilizar la sentencia WHERE en MySQL?

La sentencia WHERE es una herramienta poderosa y versátil en MySQL, ya que nos permite filtrar datos de forma precisa en nuestras consultas. Se puede emplear para modificar, eliminar o simplemente consultar datos mediante diferentes operadores lógicos y de comparación.

¿Qué operadores lógicos se pueden utilizar?

  1. Operador de igualdad (=):
  • Permite obtener registros que coincidan exactamente con un valor específico. Por ejemplo, para consultar estudiantes con un instructor_id específico.
  1. Operador de desigualdad (!= o <>):
  • Filtra los datos que no coinciden con el valor especificado. Excluye resultados que coincidan con criterios determinados y es útil para obtener conjuntos de datos más relevantes.
  1. Operador de comparación:
  • Operadores como <, >, <=, y >= permiten realizar consultas basadas en rangos numéricos.

¿Cómo se usan los operadores para manipular datos de texto?

Para datos de texto, los operadores comparativos también son útiles. Se pueden utilizar comillas simples para encerrar los valores de texto específicos que queremos filtrar, por ejemplo, filtrar por un nombre de instructor específico o por correo electrónico.

SELECT * FROM instructores WHERE primer_nombre = 'John';

¿Qué es la cláusula BETWEEN?

El operador BETWEEN es ideal para definir rangos inclusivos entre dos valores, y es especialmente útil para datos numéricos. Es vital indicar primero el menor valor seguido por el mayor al utilizar este operador.

SELECT * FROM instructores WHERE salario BETWEEN 50000 AND 90000;

¿Cómo se pueden optimizar las consultas SQL?

Optimizar consultas SQL es crucial para mantener un rendimiento eficiente en bases de datos MySQL, especialmente al manejar grandes volúmenes de datos.

  • Índices: Implementar índices para columnas usadas frecuentemente en la cláusula WHERE, ya que aceleran el acceso a los datos.
  • Consultas específicas: Evitar el uso de SELECT * en favor de especificar solo las columnas necesarias.
  • Limitar resultados: Si se requieren menos registros, LIMIT puede reducir la carga de las consultas.

¿Cómo practicar con estos conceptos en MySQL?

La práctica constante es clave para dominar MySQL. Usa prácticas interactivas, como las consultas de ejemplo aportadas y modificadas con diferentes operadores y datos. Además, cuestiona sobre diferentes escenarios, como modificar datos específicos, lo cual fortalece las habilidades adquiridas.

Finalmente, invita a los demás a compartir experiencias y resultados de las prácticas mediante comentarios en plataformas de aprendizaje o foros, ya que la colaboración y el feedback son sumamente valiosos en el proceso de aprendizaje.

Aportes 31

Preguntas 5

Ordenar por:

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

Para poder seguir con esta clase, es importante que instalen MySQL (es el Motor de Base de Datos) y MySQL Workbench (IDE o Entorno de Desarrollo Integrado → La herramienta visual para trabajar con las bases de datos). * [**MySQL Downloads**](https://dev.mysql.com/downloads/installer/) * [**MySQL Workbench Downloads**](https://dev.mysql.com/downloads/workbench/) En los Links encontraran la opción para descargar cada una.
no se si alguie mas noto que las clases estan mal editas y vuelve y repite cosas que ya habia dicho
![](https://static.platzi.com/media/user_upload/WHERE-6b0e139e-c506-47d0-b8e5-96dd7d96e625.jpg)
CON SALARIOS: INSERT INTO INSTRUCTORS (FIRSTNAME, LASTNAME, EMAIL, SPECIALIZATION, SALARY) VALUES ('Michael', 'Scott', '[email protected]', 'Leadership', 75000.00), ('Jim', 'Halpert', '[email protected]', 'Sales', 65000.00), ('Pam', 'Beesly', '[email protected]', 'Design', 60000.00), ('Dwight', 'Schrute', '[email protected]', 'Agriculture', 72000.00), ('Angela', 'Martin', '[email protected]', 'Accounting', 70000.00), ('Oscar', 'Martinez', '[email protected]', 'Finance', 68000.00), ('Kevin', 'Malone', '[email protected]', 'Accounting', 62000.00), ('Stanley', 'Hudson', '[email protected]', 'Sales', 66000.00), ('Andy', 'Bernard', '[email protected]', 'Music', 55000.00), ('Phyllis', 'Vance', '[email protected]', 'Sales', 64000.00), ('Toby', 'Flenderson', '[email protected]', 'HR', 58000.00), ('Kelly', 'Kapoor', '[email protected]', 'Customer Relations', 59000.00), ('Ryan', 'Howard', '[email protected]', 'Marketing', 60000.00), ('Holly', 'Flax', '[email protected]', 'HR', 62000.00), ('Erin', 'Hannon', '[email protected]', 'Admin', 50000.00), ('Jan', 'Levinson', '[email protected]', 'Management', 85000.00), ('David', 'Wallace', '[email protected]', 'Executive', 90000.00), ('Darryl', 'Philbin', '[email protected]', 'Logistics', 72000.00), ('Roy', 'Anderson', '[email protected]', 'Warehouse', 48000.00), ('Charles', 'Miner', '[email protected]', 'Operations', 73000.00);
INSERT INTO INSTRUCTORS (FIRSTNAME, LASTNAME, EMAIL, SPECIALIZATION) VALUES ('Michael', 'Scott', '[email protected]', 'Leadership'), ('Jim', 'Halpert', '[email protected]', 'Sales'), ('Pam', 'Beesly', '[email protected]', 'Design'), ('Dwight', 'Schrute', '[email protected]', 'Agriculture'), ('Angela', 'Martin', '[email protected]', 'Accounting'), ('Oscar', 'Martinez', '[email protected]', 'Finance'), ('Kevin', 'Malone', '[email protected]', 'Accounting'), ('Stanley', 'Hudson', '[email protected]', 'Sales'), ('Andy', 'Bernard', '[email protected]', 'Music'), ('Phyllis', 'Vance', '[email protected]', 'Sales'), ('Toby', 'Flenderson', '[email protected]', 'HR'), ('Kelly', 'Kapoor', '[email protected]', 'Customer Relations'), ('Ryan', 'Howard', '[email protected]', 'Marketing'), ('Holly', 'Flax', '[email protected]', 'HR'), ('Erin', 'Hannon', '[email protected]', 'Admin'), ('Jan', 'Levinson', '[email protected]', 'Management'), ('David', 'Wallace', '[email protected]', 'Executive'), ('Darryl', 'Philbin', '[email protected]', 'Logistics'), ('Roy', 'Anderson', '[email protected]', 'Warehouse'), ('Charles', 'Miner', '[email protected]', 'Operations');
INSERT INTO STUDENT\_COURSE (STUDENTID, COURSEID, ENROLL\_DATE) VALUES (1, 1, GETDATE()), (2, 2, GETDATE()), (3, 3, GETDATE()), (4, 4, GETDATE()), (5, 5, GETDATE()), (6, 6, GETDATE()), (7, 7, GETDATE()), (8, 8, GETDATE()), (9, 9, GETDATE()), (10, 10, GETDATE()), (11, 11, GETDATE()), (12, 12, GETDATE()), (13, 13, GETDATE()), (14, 14, GETDATE()), (15, 15, GETDATE()), (16, 16, GETDATE()), (17, 17, GETDATE()), (18, 18, GETDATE()), (19, 19, GETDATE()), (20, 20, GETDATE());
Recomienden un tutorial para instalar el entorno de trabajo para dummies.
INSERT INTO COURSES (COURSENAME, \[DESCRIPTION], INSTRUCTORID, DURATIONHOURS) VALUES ('Leadership 101', 'Basics of effective leadership', 1, 30), ('Sales Techniques', 'Advanced sales strategies', 2, 25), ('Graphic Design', 'Learn the basics of graphic design', 3, 20), ('Agriculture Basics', 'Introduction to sustainable farming', 4, 40), ('Accounting Principles', 'Fundamentals of accounting', 5, 35), ('Finance for Beginners', 'Introduction to finance', 6, 20), ('Music Theory', 'Basic music theory and practice', 9, 15), ('Human Resources 101', 'Introduction to HR practices', 11, 25), ('Marketing Strategies', 'Essential marketing techniques', 13, 30), ('Customer Relations', 'How to manage customer relationships', 12, 20), ('Warehouse Management', 'Efficient warehouse operations', 19, 25), ('Executive Leadership', 'High-level leadership strategies', 17, 45), ('Logistics Management', 'Logistics and supply chain basics', 18, 30), ('Effective Communication', 'Improving workplace communication', 1, 20), ('Advanced Excel', 'Master Excel for business', 6, 20), ('Public Speaking', 'Develop public speaking skills', 10, 15), ('Stress Management', 'Learn to manage stress effectively', 8, 10), ('Team Building', 'How to build strong teams', 2, 30), ('Time Management', 'Improve productivity through time management', 7, 20), ('Conflict Resolution', 'Resolving conflicts in the workplace', 14, 25);
dejare este video por aca <https://www.youtube.com/watch?v=NIBPw0oS1rY>
Para agregar una columna de salario a la tabla que ya tenia creada use la sentencia: `ALTER TABLE INSTRUCTORS ADD COLUMN salary DECIMAL(10,2) NOT NULL DEFAULT 0;`
Por si necesitan ayuda instalando MySql <https://platzi.com/home/clases/1272-sql-mysql/11086-instalacion-local-de-un-rdbms-windows/>
Para actualizar el campo "edad" a 30 para todos los empleados cuyo nombre sea 'Carlos', la instrucción correcta en SQL sería: ```sql UPDATE empleados SET edad = 30 WHERE nombre = 'Carlos'; ``` Asegúrate de que la tabla se llama "empleados" y que "nombre" es el campo correcto. Esta consulta actualizará la edad de todos los registros que cumplen con el criterio especificado.
![](https://static.platzi.com/media/user_upload/upload-87ee9e65-a8ca-4887-ad40-fd36ca493ed2.png)
Les dejo mi aporte 😎 ```js UPDATE prueba.teachers SET salary = 90000.00 WHERE instructor_id = 4; ```
Sigo pensando que para ser un curso básico esta muy incompleto, hay ocasiones en las que te atoras mucho porque no sabes como es que la profesora llego hasta x punto, solo ya eta ahí.
UPDATE INSTRUCTORS SET salary = 90000 WHERE salary = 50000;
![](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%202025-04-04%20a%20la%28s%29%208.05.40p.m.-7d037282-9676-4c11-809d-fc3029530163.jpg) Para ajusta el salario, consideran que dentro de los registros solo tengo uno que corresponde a 50000, esta seria la forma más simple de declararlo.
![](https://static.platzi.com/media/user_upload/image-237756b6-8945-4812-9a19-83c7b355ee1b.jpg)
![](https://static.platzi.com/media/user_upload/image-06bdc6ee-07bb-44e6-a97f-aa26cbcbb292.jpg)![](https://static.platzi.com/media/user_upload/image-b052fc4c-5fd0-4f7d-b15d-d2e6d4cc1e38.jpg)
Si queremos consultar varios registros evitando algunos en lugar de != también hacemos uso de NOT IN de la siguiente manera ```js SELECT * FROM TEACHERS WHERE TEACHERID NOT IN (1,4); ```
![](https://static.platzi.com/media/user_upload/image-b004f810-42af-4d48-bf7d-1a02ee689bdf.jpg)
creo que seria update instructors set salary =90 000 where salary= 50 000 and id= 'id del instructor en cuestion' aunque puede parecer redundante porque en teoria con el id deberia ser suficiente, esa redundancia me da tranquilidad =)
![](https://static.platzi.com/media/user_upload/image-7e696816-2dc9-4466-8c8b-0bd887983aac.jpg) ```js UPDATE TEACHER SET SALARY = 90000 WHERE TEACHERID = 1; ```![](https://static.platzi.com/media/user_upload/image-56830d30-0825-42e7-90a4-89e413f8ebef.jpg) Sin embargo me doy cuenta que la columna UPDATEDATE no se modificó con el cambio que hice del salario...
![](https://static.platzi.com/media/user_upload/image-9e05898a-6e55-4a9e-94db-db97e9124264.jpg)
![](https://static.platzi.com/media/user_upload/image-d509ff6e-bbb5-4439-8bd5-d9bbfc6c1d32.jpg)
Mi humilde aporte ![](https://static.platzi.com/media/user_upload/image-088b06bc-b56a-4f57-8d52-e98019847410.jpg) ![](https://static.platzi.com/media/user_upload/image-c7cc56c8-7201-483a-b527-83a564bd74d4.jpg)
Mi humilde aporte ![](https://static.platzi.com/media/user_upload/image-f2ecd4fa-364a-44c5-8d93-e39f9d8700f3.jpg)![](https://static.platzi.com/media/user_upload/image-9595dd58-476f-4be2-95a8-4ec380aafaa3.jpg)
Código del reto actualizar salario a 92.000 en mi caso: `UPDATE INSTRUCTORS SET salary = 92000 WHERE INSTRUCTORID = 13;` ![](https://i.ibb.co/XxQn2cP/Screenshot-2025-01-13-032134.png)
tabla inicial: ![](https://static.platzi.com/media/user_upload/image-e3886183-e214-4453-bc88-3f1443a91816.jpg) consulta: ![](https://static.platzi.com/media/user_upload/image-cc463c88-911e-490e-8188-8aafad22b2f6.jpg) Reasignación salarial: ![](https://static.platzi.com/media/user_upload/image-5473e132-0b05-471d-9909-f2db3ff0a951.jpg)
1. **Conceptos Principales:** - **Cláusula WHERE:** Permite filtrar registros en consultas SQL. - **Operadores Lógicos:** Comparaciones como `=`, `<>`, `BETWEEN`, y manipulaciones de texto. 2. **Herramientas y Metodologías:** - **MySQL:** Plataforma para la gestión de bases de datos. - **Sentencias SQL:** `SELECT`, `UPDATE`, `DELETE` son fundamentales. 3. **Ejemplos Relevantes:** - Consulta para un ID específico: `SELECT * FROM instructores WHERE instructorID = 1;` - Uso de `BETWEEN` para rangos: `SELECT * FROM instructores WHERE salario BETWEEN 5000 AND 9000;` 4. **Aplicaciones Prácticas:** - Filtrar datos según criterios específicos para análisis. - Modificar registros basados en condiciones bien definidas. Este resumen proporciona una visión estructurada de los temas tratados en el video, facilitando el repaso y aprendizaje.
Es un curso muy incompleto