Course Overview
This comprehensive course teaches relational database concepts using MySQL and Python SQLAlchemy. Students will learn SQL from beginner to advanced levels, with practical examples and hands-on exercises.
Prerequisites
- Basic understanding of programming concepts
- Python 3.7+ installed
- MySQL Server installed locally
- Basic command line knowledge
Course Structure
Module 1: Database Fundamentals
- Lesson 1: Database Setup and Connection
- Lesson 2: Creating Databases and Tables
- Lesson 3: Data Types and Constraints
Module 2: Basic SQL Operations
Module 3: Intermediate SQL
- Lesson 7: Joins and Relationships
- Lesson 8: Database Design Principles and Normalization
- Lesson 9: MySQL Database Functions with SQLAlchemy
- Lesson 10: Aggregation Functions
- Lesson 11: Subqueries
Module 4: Advanced SQL
- Lesson 12: Views and Indexes
- Lesson 13: Stored Procedures and Functions — plus the practice supplement (loops, management commands, worked examples)
- Lesson 14: Triggers
- Lesson 15: Performance Optimization
Module 5: Python SQLAlchemy Integration
Module 6: Modern SQL and Concurrency
Setup Instructions
-
Install MySQL Server
# macOS (using Homebrew) brew install mysql brew services start mysql # Ubuntu/Debian sudo apt update sudo apt install mysql-server # Windows - Download from MySQL website -
Install Python Dependencies
pip install -r requirements.txt -
Create MySQL User and Database
CREATE USER 'student'@'localhost' IDENTIFIED BY 'password123'; GRANT ALL PRIVILEGES ON *.* TO 'student'@'localhost'; FLUSH PRIVILEGES;
Learning Path
- Start with Module 1 to understand database fundamentals
- Progress through each lesson sequentially
- Complete the exercises at the end of each lesson
- Practice with the provided sample datasets
- Use the Python SQLAlchemy examples to understand programmatic database access
Sample Datasets
sample_data/- Contains sample SQL files and CSV data for practiceexercises/- Practice exercises for each lessonsolutions/- Solutions to exercises
Getting Help
- Check the troubleshooting guide in each lesson
- Review the common SQL patterns reference
- Practice with the interactive exercises
Course Completion
Upon completing this course, students will be able to: - Design and create relational databases - Write complex SQL queries - Use Python SQLAlchemy for database operations - Optimize database performance - Implement advanced database features
Happy learning! 🎓