MySQL Weekly Lab Tasks (Beginner to Advanced)
Week 1 – Database Fundamentals & Setup
• Understand DBMS vs RDBMS concepts
• Install MySQL Server and Workbench
• Create a database
• Create basic tables
• Insert sample records
• Explore table structure using DESCRIBE
Week 2 – Table Design & Data Types
• Learn numeric, string, and date/time data types
• Use NOT NULL, DEFAULT, AUTO_INCREMENT
• Modify table structures
• Design student and teacher tables
• Insert realistic test data
Week 3 – Keys & Constraints
• Primary key and foreign key concepts
• Unique and composite keys
• Create relational tables
• Test constraint violations
• Use ON DELETE and ON UPDATE
Week 4 – Basic SELECT Queries
• Use SELECT with WHERE clause
• Apply logical operators
• Use LIKE, IN, BETWEEN
• Sort data using ORDER BY
• Limit output rows
Week 5 – Aggregate Functions & GROUP BY
• Use COUNT, SUM, AVG, MIN, MAX
• Group records using GROUP BY
• Filter groups using HAVING
• Generate summary reports
Week 6 – Joins (Multi-table Queries)
• Understand INNER, LEFT, RIGHT joins
• Join student, course, enrollment tables
• Write multi-table SELECT queries
• Identify unmatched records
Week 7 – Subqueries
• Write subqueries in WHERE clause
• Use subqueries in FROM clause
• Understand correlated subqueries
• Use EXISTS and NOT EXISTS
Week 8 – Normalization & Design
• Understand functional dependency
• Apply 1NF, 2NF, and 3NF
• Remove data redundancy
• Redesign an unnormalized database
Week 9 – Indexes & Performance
• Understand index concepts
• Create and drop indexes
• Analyze queries using EXPLAIN
• Compare query performance
Week 10 – Views & Stored Procedures
• Create and use views
• Write stored procedures
• Use parameters in procedures
• Create user-defined functions
Week 11 – Transactions & ACID
• Understand ACID properties
• Use START TRANSACTION, COMMIT, ROLLBACK
• Test transaction consistency
• Simulate failure scenarios
Week 12 – Security & Final Project
• Create database users
• Grant and revoke privileges
• Understand SQL injection concept
• Backup and restore database
• Build a mini database project