Skip to content

MuhammadAdreansyah/SQLQuery-Handbook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

6 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ—„๏ธ MySQL Handbook - Interactive Learning Platform

A comprehensive interactive learning platform for mastering MySQL from beginner to advanced levels, built with Streamlit.

โœจ Key Features

  • ๐ŸŽฎ Interactive Learning - Real-time Query Editor with syntax highlighting support
  • ๐Ÿ“š 8 Complete Modules - From Basic Queries to Advanced Transaction Management
  • ๐ŸŽฏ User-Friendly Interface - Intuitive navigation with organized sidebar
  • ๐Ÿ’ป Hands-On Practice - Real-world examples with sample databases
  • ๐Ÿ“Š Visual Learning - Charts, graphs, and interactive demonstrations
  • ๐Ÿ”„ Transaction Simulator - Interactive TCL operations with savepoints
  • ๐Ÿงช Practice Labs - Step-by-step exercises with solutions
  • ๐Ÿ“ฑ Responsive Design - Optimized for desktop and mobile devices

๐Ÿš€ Quick Start

Prerequisites

  • Python 3.8 or higher
  • pip (Python package manager)

Installation

  1. Clone or download project

    git clone <repository-url>
    cd "MySQL Handbook"
  2. Install dependencies

    pip install -r requirements.txt
  3. Run the application

    streamlit run app.py
  4. Open browser

    • Application will automatically open at http://localhost:8501
    • Or manually navigate to that URL

๐Ÿ“ Project Structure

MySQL Handbook/
โ”œโ”€โ”€ app.py                    # Main application file
โ”œโ”€โ”€ requirements.txt          # Python dependencies
โ”œโ”€โ”€ README.md                # Documentation
โ”œโ”€โ”€ USER_GUIDE.md            # User guide and tutorials
โ”œโ”€โ”€ PROJECT_COMPLETION_SUMMARY.md  # Development summary
โ”œโ”€โ”€ test_modules.py          # Module testing script
โ”œโ”€โ”€ assets/                  # Static assets
โ”‚   โ”œโ”€โ”€ style.css           # Custom styling
โ”‚   โ”œโ”€โ”€ images/             # Logo and graphics
โ”œโ”€โ”€ pages/                   # Learning modules
โ”‚   โ”œโ”€โ”€ 01_Home.py          # Welcome and introduction
โ”‚   โ”œโ”€โ”€ 02_BasicQuery.py    # SELECT, WHERE, ORDER BY fundamentals
โ”‚   โ”œโ”€โ”€ 03_DDL.py           # Data Definition Language
โ”‚   โ”œโ”€โ”€ 04_DML.py           # Data Manipulation Language
โ”‚   โ”œโ”€โ”€ 05_DCL.py           # Data Control Language  
โ”‚   โ”œโ”€โ”€ 06_TCL.py           # Transaction Control Language (Enhanced)
โ”‚   โ”œโ”€โ”€ 07_AggregateQuery.py # Aggregate functions and analytics
โ”‚   โ””โ”€โ”€ SQLQueryEditor.py   # Interactive SQL editor (Enhanced)
โ”œโ”€โ”€ config/                 # Configuration files
โ””โ”€โ”€ log/                   # Application logs

๐Ÿ“š Learning Modules

๐ŸŒฑ Beginner Level

  1. ๐Ÿ  Home - Platform overview and learning path guidance
  2. ๐Ÿ” Basic Queries - SELECT, WHERE, ORDER BY, LIMIT operations
  3. ๐Ÿ“‹ DDL Commands - CREATE, ALTER, DROP table operations
  4. โœ๏ธ DML Operations - INSERT, UPDATE, DELETE data manipulation

๐Ÿš€ Intermediate Level

  1. ๐Ÿ“Š Aggregate Functions - COUNT, SUM, AVG, GROUP BY, HAVING
  2. ๐Ÿ”’ DCL Controls - User permissions and access control

๐ŸŽ“ Advanced Level

  1. ๐Ÿ”„ TCL Management โญ - Complete transaction control with ACID properties
  2. ๐Ÿ’ป SQL Query Editor โญ - Interactive practice environment with real data

๐ŸŽฏ Learning Path Recommendations

Path 1: Complete Beginner (2-3 weeks)

Home โ†’ Basic Queries โ†’ DDL Commands โ†’ DML Operations โ†’ Query Editor

Target: Master fundamental database operations

Path 2: Intermediate Developer (3-4 weeks)

Aggregate Functions โ†’ DCL Controls โ†’ TCL Management โ†’ Advanced Practice

Target: Master advanced database operations and security

Path 3: Advanced Professional (4-6 weeks)

Focus: Complex transactions, performance optimization, real-world scenarios

Target: Production-ready database expertise

  • Target: MySQL Expert level skills

๐Ÿ”ง Development

Menambah Modul Baru

  1. Buat file modul di folder pages/

    # pages/new_module.py
    import streamlit as st
    
    def show():
        st.title("New Module")
        st.write("Content goes here...")
  2. Update app.py untuk import modul baru

    from pages import new_module
    
    # Tambah ke dictionary pages
    pages = {
        # ... existing pages
        "๐Ÿ†• New Module": new_module,
    }

Custom Styling

Edit file assets/style.css untuk mengubah tampilan:

  • Colors dan themes
  • Button styling
  • Layout adjustments
  • Responsive behavior

๐Ÿ› Troubleshooting

Error: ModuleNotFoundError

# Pastikan semua dependencies terinstall
pip install -r requirements.txt

# Check Python version
python --version  # Should be 3.8+

Error: Port already in use

# Gunakan port berbeda
streamlit run app.py --server.port 8502

CSS tidak loading

  • Pastikan file assets/style.css exists
  • Check file permissions
  • Restart aplikasi

๐Ÿ“– Usage Tips

Untuk Pembelajaran Optimal:

  • ๐Ÿ“ Catat poin penting dari setiap modul
  • ๐Ÿ’ป Praktik setiap syntax di Query Editor
  • ๐Ÿ”„ Ulangi materi yang sulit dipahami
  • ๐ŸŽฏ Fokus satu modul sampai tuntas

Keyboard Shortcuts (Query Editor):

  • Ctrl + Enter: Execute query
  • Ctrl + /: Comment/Uncomment
  • Ctrl + A: Select all
  • Ctrl + Z: Undo

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Development Setup

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/AmazingFeature)
  3. Commit changes (git commit -m 'Add some AmazingFeature')
  4. Push to branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ“ž Support

  • Documentation: Check README dan komentar dalam code
  • Issues: Create GitHub issue untuk bug reports
  • Questions: Gunakan Query Editor untuk eksperimen langsung

๐ŸŽ‰ Acknowledgments

  • Built with โค๏ธ using Streamlit
  • MySQL documentation dan community
  • Open source Python ecosystem

Happy Learning! ๐Ÿš€

Mulai perjalanan MySQL Anda hari ini dan menjadi database expert!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors