https://github.com/mouredev/hello-sql
Curso para aprender los fundamentos del lenguaje SQL y bases de datos relacionales desde cero y para principiantes. Elaborado durante las emisiones en directo desde el canal de Twitch de MoureDev.
https://github.com/mouredev/hello-sql
basesdedatos curso database mysql postgresql sql tutorial
Last synced: about 1 year ago
JSON representation
Curso para aprender los fundamentos del lenguaje SQL y bases de datos relacionales desde cero y para principiantes. Elaborado durante las emisiones en directo desde el canal de Twitch de MoureDev.
- Host: GitHub
- URL: https://github.com/mouredev/hello-sql
- Owner: mouredev
- License: apache-2.0
- Created: 2023-10-05T10:51:20.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-03-31T17:05:09.000Z (over 1 year ago)
- Last Synced: 2025-04-12T12:46:31.100Z (over 1 year ago)
- Topics: basesdedatos, curso, database, mysql, postgresql, sql, tutorial
- Language: Python
- Homepage: https://mouredev.link/sql
- Size: 3.74 MB
- Stars: 5,944
- Watchers: 60
- Forks: 394
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- StarryDivineSky - mouredev/hello-sql - sql 是一个面向零基础学习者的开源 SQL 与关系型数据库入门教程项目,它通过系统化的课程设计与实践案例,解决了新手学习数据库时缺乏结构化指导、理论脱离实际应用的核心痛点。** 不同于零散的博客教程或付费课程,该项目以完全开源的形式提供从基础语法到实际查询的完整学习路径,尤其适合自学开发者快速掌握数据库操作的核心逻辑。项目的核心特色体现在三方面:首先,它采用“学练结合”的模块化设计,每个 SQL 概念均配套真实场景的查询示例(如用户管理、订单统计等),让学习者即时验证理论;其次,教程语言极度简洁,避免过度学术化表述,例如直接用“表格就像Excel,而SQL是操作它的高级指令集”类比关系型数据库;最后,项目持续更新常见数据库(MySQL、PostgreSQL等)的语法差异说明,避免了初学者因兼容性问题产生的挫败感。其技术架构虽以教学为核心,但隐含了高效的认知科学逻辑。通过将复杂查询拆解为“零件组装”过程(如先教筛选WHERE、再组合排序ORDER BY),模拟了人类学习递增式模式。项目中的示例数据库设计也遵循“低冗余原则”,例如用单张用户表关联多张订单表,直观体现外键关系,这种设计既降低了初学者的认知负担,又暗合数据库范式理论。值得一提的是,作者刻意避用了GUI工具,强迫学习者直接编写SQL代码,这种“降维打击”式的设计能更快培养出对底层逻辑的肌肉记忆。整体而言,hello-sql 的成功在于**将抽象的数据库知识转化为可视化的操作逻辑**——就像用乐高手册教编程,每一块SQL语句都是可拼装的积木。这种“最小化可行学习”理念,加上开源社区贡献的本地化案例(如西语与英语双版本),使其成为非英语母语地区开发者的低成本学习跳板。 (数据库管理系统 / 资源传输下载)
README
# Hello SQL
[](https://mysql.com)
[](https://postgresql.org)
## Curso completo para aprender los fundamentos del lenguaje SQL y bases de datos relacionales

### 7 horas | +80 lecciones | +50 comandos | con código | desde cero | completo | gratis
### Proyecto realizado durante emisiones en directo desde [Twitch](https://twitch.tv/mouredev)
> ##### Si consideras útil el curso, apóyalo haciendo "★ Star" en el repositorio. ¡Gracias!
## Curso completo en vídeo
**Este es el curso completo en [vídeo](https://youtu.be/OuJerKzV5T0) de 7 horas en YouTube asociado al código de este repositorio.**
## Lecciones y código
[INTRODUCCIÓN](https://youtu.be/OuJerKzV5T0)
1. [Bases de datos SQL](https://youtu.be/OuJerKzV5T0?t=234)
2. [Sistema de gestión de base de datos](https://youtu.be/OuJerKzV5T0?t=1011)
3. [Fundamentos de SQL y bases de datos](https://youtu.be/OuJerKzV5T0?t=1347)
4. [Configuración e instalación](https://youtu.be/OuJerKzV5T0?t=2753)
5. [Primeros pasos](https://youtu.be/OuJerKzV5T0?t=3282)
6. [Conexión y cliente SQL](https://youtu.be/OuJerKzV5T0?t=3555)
7. [Inicialización de datos](https://youtu.be/OuJerKzV5T0?t=4381)
8. [Consulta de datos: `SELECT`](https://youtu.be/OuJerKzV5T0?t=5618) ➔ [[Código]](./01_Reading/01_select.sql)
9. [Modificadores: Parte 1](https://youtu.be/OuJerKzV5T0?t=6074)
1. [`DISTINCT`](https://youtu.be/OuJerKzV5T0?t=6089) ➔ [[Código]](./01_Reading/02_distinct.sql)
2. [`WHERE`](https://youtu.be/OuJerKzV5T0?t=6384) ➔ [[Código]](./01_Reading/03_where.sql)
3. [`ORDER BY`](https://youtu.be/OuJerKzV5T0?t=6592) ➔ [[Código]](./01_Reading/04_order_by.sql)
4. [`LIKE`](https://youtu.be/OuJerKzV5T0?t=6894) ➔ [[Código]](./01_Reading/05_like.sql)
5. [`AND, OR, NOT`](https://youtu.be/OuJerKzV5T0?t=7194) ➔ [[Código]](./01_Reading/06_and_or_not.sql)
6. [`LIMIT`](https://youtu.be/OuJerKzV5T0?t=7395) ➔ [[Código]](./01_Reading/07_limit.sql)
10. [Modificadores: Parte 2](https://youtu.be/OuJerKzV5T0?t=7503)
1. [`COMMENTS`](https://youtu.be/OuJerKzV5T0?t=7512) ➔ [[Código]](./01_Reading/00_comments.sql)
2. [`NULL`](https://youtu.be/OuJerKzV5T0?t=7615) ➔ [[Código]](./01_Reading/08_null.sql)
3. [`MIN, MAX`](https://youtu.be/OuJerKzV5T0?t=7834) ➔ [[Código]](./01_Reading/09_min_max.sql)
4. [`COUNT`](https://youtu.be/OuJerKzV5T0?t=8043) ➔ [[Código]](./01_Reading/10_count.sql)
5. [`SUM`](https://youtu.be/OuJerKzV5T0?t=8128) ➔ [[Código]](./01_Reading/11_sum.sql)
6. [`AVG`](https://youtu.be/OuJerKzV5T0?t=8293) ➔ [[Código]](./01_Reading/12_avg.sql)
7. [`IN`](https://youtu.be/OuJerKzV5T0?t=8335) ➔ [[Código]](./01_Reading/13_in.sql)
8. [`BETWEEN`](https://youtu.be/OuJerKzV5T0?t=8559) ➔ [[Código]](./01_Reading/14_between.sql)
9. [`ALIAS`](https://youtu.be/OuJerKzV5T0?t=8667) ➔ [[Código]](./01_Reading/15_alias.sql)
10. [`CONCAT`](https://youtu.be/OuJerKzV5T0?t=8826) ➔ [[Código]](./01_Reading/16_concat.sql)
11. [`GROUP BY`](https://youtu.be/OuJerKzV5T0?t=8960) ➔ [[Código]](./01_Reading/17_group_by.sql)
12. [`HAVING`](https://youtu.be/OuJerKzV5T0?t=9265) ➔ [[Código]](./01_Reading/18_having.sql)
13. [`CASE`](https://youtu.be/OuJerKzV5T0?t=9486) ➔ [[Código]](./01_Reading/19_case.sql)
14. [`IFNULL`](https://youtu.be/OuJerKzV5T0?t=10023) ➔ [[Código]](./01_Reading/08_null.sql)
15. [Otros modificadores](https://youtu.be/OuJerKzV5T0?t=10191)
11. [Escritura de datos](https://youtu.be/OuJerKzV5T0?t=10289)
1. [`INSERT`](https://youtu.be/OuJerKzV5T0?t=10370) ➔ [[Código]](./02_Writing/01_insert.sql)
2. [`UPDATE`](https://youtu.be/OuJerKzV5T0?t=10621) ➔ [[Código]](./02_Writing/02_update.sql)
3. [`DELETE`](https://youtu.be/OuJerKzV5T0?t=10920) ➔ [[Código]](./02_Writing/03_delete.sql)
12. [Administración de la base de datos](https://youtu.be/OuJerKzV5T0?t=11021)
1. [`CREATE DATABASE`](https://youtu.be/OuJerKzV5T0?t=11064) ➔ [[Código]](./03_Database/01_create_database.sql)
2. [`DROP DATABASE`](https://youtu.be/OuJerKzV5T0?t=11180) ➔ [[Código]](./03_Database/02_drop_database.sql)
13. [Administración de tablas](https://youtu.be/OuJerKzV5T0?t=11021)
1. [`CREATE TABLE`](https://youtu.be/OuJerKzV5T0?t=11292) ➔ [[Código]](./04_Tables/01_create_table.sql)
2. [`NOT NULL`](https://youtu.be/OuJerKzV5T0?t=11619) ➔ [[Código]](./04_Tables/01_create_table.sql)
3. [`UNIQUE`](https://youtu.be/OuJerKzV5T0?t=11787) ➔ [[Código]](./04_Tables/01_create_table.sql)
4. [`PRIMARY KEY`](https://youtu.be/OuJerKzV5T0?t=11911) ➔ [[Código]](./04_Tables/01_create_table.sql)
5. [`CHECK`](https://youtu.be/OuJerKzV5T0?t=12121) ➔ [[Código]](./04_Tables/01_create_table.sql)
6. [`DEFAULT`](https://youtu.be/OuJerKzV5T0?t=12243) ➔ [[Código]](./04_Tables/01_create_table.sql)
7. [`AUTO INCREMENT`](https://youtu.be/OuJerKzV5T0?t=12362) ➔ [[Código]](./04_Tables/01_create_table.sql)
8. [`DROP TABLE`](https://youtu.be/OuJerKzV5T0?t=12412) ➔ [[Código]](./04_Tables/02_drop_table.sql)
9. [`ALTER TABLE`](https://youtu.be/OuJerKzV5T0?t=12461) ➔ [[Código]](./04_Tables/03_alter_table.sql)
10. [`ADD`](https://youtu.be/OuJerKzV5T0?t=12578) ➔ [[Código]](./04_Tables/03_alter_table.sql)
11. [`RENAME COLUMN`](https://youtu.be/OuJerKzV5T0?t=12624) ➔ [[Código]](./04_Tables/03_alter_table.sql)
12. [`MODIFY COLUMN`](https://youtu.be/OuJerKzV5T0?t=12675) ➔ [[Código]](./04_Tables/03_alter_table.sql)
13. [`DROP COLUMN`](https://youtu.be/OuJerKzV5T0?t=12712) ➔ [[Código]](./04_Tables/03_alter_table.sql)
14. [Relaciones entre tablas](https://youtu.be/OuJerKzV5T0?t=12781)
1. [RELACIÓN `1:1`](https://youtu.be/OuJerKzV5T0?t=12852)
2. [RELACIÓN `1:N`](https://youtu.be/OuJerKzV5T0?t=13117)
3. [RELACIÓN `N:M`](https://youtu.be/OuJerKzV5T0?t=13208)
4. [AUTOREFERENCIA](https://youtu.be/OuJerKzV5T0?t=13343)
15. [Creación de tablas relacionadas](https://youtu.be/OuJerKzV5T0?t=13428)
1. [TABLAS `1:1`](https://youtu.be/OuJerKzV5T0?t=13490) ➔ [[Código]](./04_Tables/04_relationships.sql)
2. [TABLAS `1:N`](https://youtu.be/OuJerKzV5T0?t=13732) ➔ [[Código]](./04_Tables/04_relationships.sql)
3. [TABLAS `N:M`](https://youtu.be/OuJerKzV5T0?t=14313) ➔ [[Código]](./04_Tables/04_relationships.sql)
16. [Almacenamiento de datos relacionados](https://youtu.be/OuJerKzV5T0?t=14635)
1. [DATOS `1:1`](https://youtu.be/OuJerKzV5T0?t=14994) ➔ [[Código]](./04_Tables/04_relationships.sql)
2. [DATOS `1:N`](https://youtu.be/OuJerKzV5T0?t=15203) ➔ [[Código]](./04_Tables/04_relationships.sql)
3. [DATOS `N:M`](https://youtu.be/OuJerKzV5T0?t=15474) ➔ [[Código]](./04_Tables/04_relationships.sql)
17. [Consulta de datos relacionados](https://youtu.be/OuJerKzV5T0?t=16013)
1. [`INNER JOIN`](https://youtu.be/OuJerKzV5T0?t=16101) ➔ [[Código]](./05_Join/01_inner_join.sql)
2. [`LEFT JOIN`](https://youtu.be/OuJerKzV5T0?t=17045) ➔ [[Código]](./05_Join/02_left_join.sql)
3. [`RIGHT JOIN`](https://youtu.be/OuJerKzV5T0?t=17399) ➔ [[Código]](./05_Join/03_right_join.sql)
4. [`UNION`](https://youtu.be/OuJerKzV5T0?t=17536) ➔ [[Código]](./05_Join/04_union.sql)
18. [Conceptos avanzados](https://youtu.be/OuJerKzV5T0?t=18196)
1. [`INDEX`](https://youtu.be/OuJerKzV5T0?t=18219) ➔ [[Código]](./06_Advanced/01_index.sql)
2. [`TRIGGER`](https://youtu.be/OuJerKzV5T0?t=18961) ➔ [[Código]](./06_Advanced/02_triggers.sql)
3. [`VIEW`](https://youtu.be/OuJerKzV5T0?t=19663) ➔ [[Código]](./06_Advanced/03_views.sql)
4. [`STORED PROCEDURE`](https://youtu.be/OuJerKzV5T0?t=20033) ➔ [[Código]](./06_Advanced/04_stored_procedures.sql)
5. [TRANSACCIONES](https://youtu.be/OuJerKzV5T0?t=20501) ➔ [[Código]](./06_Advanced/05_transactions.sql)
6. [CONCURRENCIA](https://youtu.be/OuJerKzV5T0?t=20701)
19. [Conexión desde código](https://youtu.be/OuJerKzV5T0?t=20847)
1. [CONECTORES](https://youtu.be/OuJerKzV5T0?t=20876) ➔ [[Código]](./06_Advanced/06_connectors.py)
2. [SQL INJECTION](https://youtu.be/OuJerKzV5T0?t=21149) ➔ [[Código]](./06_Advanced/06_connectors.py)
20. [Otros clientes SQL](https://youtu.be/OuJerKzV5T0?t=21641)
21. [PostgresSQL](https://youtu.be/OuJerKzV5T0?t=22070)
22. [Despliegue en la nube](https://youtu.be/OuJerKzV5T0?t=23214)
23. [Próximos pasos](https://youtu.be/OuJerKzV5T0?t=24283)
[CONCLUSIONES](https://youtu.be/OuJerKzV5T0?t=24678)
Durante el curso aprenderemos los fundamentos del lenguaje SQL y las bases de datos relacionales con ejemplos prácticos.
Nos centraremos en MySQL para llevar a cabo las clases, ya que es uno de los más usados en enseñanza y a nivel profesional. También utilizaremos PostgreSQL, por ser una de las bases de datos más populares de la actualidad. De todas formas, no debe preocuparte el motor de bases de datos utilizado, ya que SQL es un lenguaje estándar, por lo que se utilizará prácticamente igual en todas ellas. Una vez lo conozcas no tendrá dificultad alguna llevar esos conocimientos a otros sistemas.
Todo el código creado durante el curso está disponible para que puedas consultarlo junto a su explicación.
> En el servidor de la comunidad de [Discord](https://discord.gg/mouredev) dispones de un canal llamado "💾bases-de-datos" para que puedas comentar lo que quieras.
## Enlaces de interés
* [Documentación SQL](https://www.w3schools.com/sql/default.asp)
* [MySQL](https://mysql.com)
* [Descarga MySQL](https://dev.mysql.com/downloads/mysql/)
* [CLI MySQL](https://dev.mysql.com/doc/refman/8.0/en/mysql.html)
* [MySQL Workbench](https://dev.mysql.com/downloads/workbench)
* [PostgreSQL](https://www.postgresql.org)
* [Clever Cloud](https://www.clever-cloud.com)
## Únete al campus de programación de la comunidad

#### Te presento [mouredev pro](https://mouredev.pro), mi proyecto más importante para ayudarte a estudiar programación y desarrollo de software de manera diferente.
> **¿Buscas un extra?** Aquí encontrarás mis cursos editados por lecciones individuales, para avanzar a tu ritmo y guardar el progreso. También dispondrás de ejercicios y correcciones, test para validar tus conocimientos, examen y certificado público de finalización, soporte, foro de estudiantes, reunionnes grupales, cursos exclusivos y mucho más.
>
> Entra en **[mouredev.pro](https://mouredev.pro)** y utiliza el cupón **"PRO"** con un 10% de descuento en tu primera suscripción.
##  Hola, mi nombre es Brais Moure.
### Freelance full-stack iOS & Android engineer
[](https://youtube.com/mouredevapps?sub_confirmation=1)
[](https://twitch.com/mouredev)
[](https://mouredev.com/discord)
[](https://twitter.com/mouredev)


Soy ingeniero de software desde 2010. Desde 2018 combino mi trabajo desarrollando Apps con la creación de contenido formativo sobre programación y tecnología en diferentes redes sociales como **[@mouredev](https://moure.dev)**.
Si quieres unirte a nuestra comunidad de desarrollo, aprender programación, mejorar tus habilidades y ayudar a la continuidad del proyecto, puedes encontrarnos en:
[](https://twitch.tv/mouredev)
[](https://mouredev.com/discord) [](https://moure.dev)
[](https://moure.dev) [](https://github.com/mouredev)
