A structured, 14-day curriculum taking you from absolute beginner to advanced database developer.
Welcome to the Comprehensive MySQL Masterclass! This repository is designed to be your ultimate companion in mastering relational databases. Whether you are learning SQL for the first time or looking to build complex schemas, procedures, and perform query optimizations, this step-by-step curriculum provides in-depth explanations, real-world examples, and memory mnemonics.
This course is structured chronologically. Each "Day" is contained within its own directory.
- Start with the first chapter of DAY 01.
- Read the theoretical concepts and try out the command snippets in your own MySQL environment.
- Learn how to map systems visually using ER diagrams in Chapter 2.
- Keep the Memory Shortcuts and Cheatsheet open as a quick reference guide while you learn!
- Complete the library system case study walk-through in Chapter 7.
- Copy, paste, and run statements from the interactive practice script to see them work in real-time.
- Test your skills and review top coding questions in Chapter 9.
- Once completed with Day 01, proceed to DAY 02 to learn advanced query filters!
| Day | Topic | Start Here |
|---|---|---|
| 01 | MySQL Basics & Architecture | 1. Introduction to Databases and MySQL.md |
| Database Design & ER Diagrams | 2. Database Design and ER Diagrams.md | |
| MySQL Installation & Command Line | 3. MySQL Installation and Command Line.md | |
| Data Types (Exact/Approx Numeric, String, Binary, DateTime) | 4. Data Types in MySQL.md | |
| Creating Databases, Tables, & Constraints (DDL) | 5. Creating Databases and Tables.md | |
| Basic CRUD Operations (DML / DQL) | 6. Basic CRUD Operations.md | |
| Case Study: Library Management System | 7. Hands-on Practice Guide.md | |
| Memory Shortcuts & Mnemonics | 8. Memory Shortcuts and Cheatsheet.md | |
| DDL Practice Scenarios & Interview Q&A | 9. DDL Practice and Interview Questions.md | |
| 02 | Advanced Filtering with WHERE (AND / OR / NOT) | 1. Advanced Filtering with WHERE.md |
| Range (BETWEEN), List (IN) & Wildcard Matching (LIKE) | 2. Pattern Matching and Range Operations.md | |
| Dealing with Missing Data (IS NULL / IS NOT NULL) | 3. Dealing with Missing Data.md | |
| Sorting (ORDER BY) & Restricting Results (LIMIT) | 4. Sorting and Restricting Results.md | |
| HR Company Database Practice Scenario | 5. Day 02 Hands-on Practice and Exercises.md | |
| Interactive SQL Script | day2_practice_script.sql | |
| 03 | Aggregations & Grouping (COUNT, SUM, AVG, MIN, MAX) | 1. Introduction to Aggregations.md |
| Grouping Data with GROUP BY | 2. Grouping Data with GROUP BY.md | |
| Filtering Groups with HAVING | 3. Filtering Groups with HAVING.md | |
| Built-in Math & String Functions | 4. Built-in Math and String Functions.md | |
| Practice Scenario & Exercises | 5. Day 03 Practice Scenario and Exercises.md | |
| Interactive SQL Script | day3_practice_script.sql |
| Day | Topic | Status |
|---|---|---|
| 04 | Table Joins (Inner, Left, Right, Full, Self, Cross, Equi, Non-Equi, Natural Joins & Performance) | Completed |
| 05 | Subqueries & CTEs (WITH clauses) |
Completed |
| Day | Topic | Status |
|---|---|---|
| 06 | Database Normalization & Keys (1NF, 2NF, 3NF design principles) | Completed |
| 07 | Altering Tables & Constraints (ALTER TABLE) |
Completed |
| 08 | Transactions & Concurrency (ACID properties, COMMIT, ROLLBACK) |
Completed |
| Day | Topic | Status |
|---|---|---|
| 09 | Indexes & Views (Search speeds, composite indexes) | Completed |
| 10 | Stored Procedures & Functions (Variables, logic loops) | Stay tuned! |
| 11 | Triggers & Events (BEFORE/AFTER automation, scheduled jobs) |
Stay tuned! |
| Day | Topic | Status |
|---|---|---|
| 12 | User Management & Security (GRANT/REVOKE privileges) |
Completed |
| 13 | Query Performance & Tuning (Reading EXPLAIN query plans) |
Stay tuned! |
| 14 | Capstone Project (Building a real-world database from scratch) | Stay tuned! |
To push new notes, exercises, or edits to GitHub:
- Double-click the upload_to_github.bat file located in the root of this folder.
- It will automatically open a command window, stage all files, commit them with a default message, and push everything to your GitHub repository.
Contributions, issues, and feature requests are welcome! If you find a typo or want to improve a code example:
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is open-source and available under the MIT License. Feel free to use this material for personal study or educational purposes.