Updated for 2023 and Moodle 4.1

What do others say having taken this course...

"Been a fantastic 8 weeks overall. Very impressed. Pleased that I found a Moodle training course (whole 8 weeks) that could develop my knowledge." (Anonymous feedback)

"I am thankful for the contribution you are making to the community of Moodlers." (Anonymous feedback)

"I really like the "more useful queries" and found the Date and Time information quite valuable ... wish I had completed the Date & Time module before trying it on my own for work smile" (Anonymous feedback)

"very useful information and tips" (Anonymous feedback)

MoodleBites SQL Reporting is 8 weeks in duration and is delivered completely online, asynchronously, in a current stable release Moodle environment. Each week contains approximately 2-4 hours work, although this varies depending on your knowledge and experience with Moodle and SQL.

During this course you will actually create your own project - a miniature CMS (Course Management System) developed in MySQL based around Moodle !

This course is not suitable for Teachers, unless you are also administering your Moodle site, and want to learn about SQL queries and reporting. This is a semi-technical courses for people who administer their organisations (or own) Moodle site.
You MUST be able to install a Moodle testing site or local site on your own computer as part of this course.

Designed for people who are currently Administering a Moodle site (or will do in the future) and would like to use the power of SQL queries and reporting.

  • This course is developed and facilitated by Bernd Martin, SQL specialist with HRDNZ (Moodle Partner)


MoodleBites SQL Reporting fee is US$499 per person - at this time we are able to offer a discount to a special rate of USD $399 We can only schedule this course twice a year, so places on this course fill very quickly (and we have strict maximum numbers) - so book early to avoid disappointment. If you wish to translate this value to your local currency please visit: http://www.xe.com/ All invoices are in US Dollars (USD$), Euro invoices available by special request.

You can register for this course using the "Register Now" link on the Front Page.


The MoodleBites SQL Reporting runs just twice each year starting on the following dates;

  • 1st February
  • 1st August

In covering the content, each course includes:

  • Forums
  • Practical 'real world' examples
  • Lessons with step-by-step instructions
  • Extensive screenshots
  • FAQ's and glossaries
  • Individual practice exercises
  • Optional group activities
  • 'Tips and Tricks'
  • "Gotchas..." avoiding the things it's easy to get wrong!
  • Selected relevant links
  • Quizzes and self-test questions
  • Recommended further reading
  • 'Certificate of Completion' from HRDNZ authorised Moodle Partner
  • Open Badge awarded on completion
    MoodleBites SQL Reporting

OpenBadges logo

MoodleBites SQL Reporting is unique for a number of reasons:

  1. It has a focus on the practical use of SQL queries and reporting specifically on a Moodle site.
  2. The course development team is international and the course has been written to be highly accessible for speakers of English as a second or other language.
  3. Designed to run well even over slow Internet connections and on older computers.
  4. Mobile friendly course design.

Course content outline

  • Week 1, Introduction to Apache, MySQL and PHP
    Many people who administer their school or organisation Moodle site may be very IT literate, but not necessarily a network engineer or webmaster. This course introduces and explains the basics of the environment within which a Moodle site is installed and runs.
    • Setting up a local Moodle test site (Linux, Windows, Mac)
    • Introduction to Apache
    • Introduction to MySQL
    • Introduction to PHP
  • Week 2, Terminals and the Moodle database
    Although plugins and pretty GUI's promise to make the task of querying a database easy, this is only true if you understand the underlying database design. Here we explore a number of tools and the Moodle database in detail as a foundation for later work.
    • Installing and using MySQL
    • Terminals - how and why we use them
    • Overview of the Moodle database
    • Creating a MySQL database
  • Week 3, Building a MySQL database
    MySQL (Structure Query Language) has hundreds of commands, operators, and syntax rules. Here we introduce the main functions you can use to query a MySQL database.
    • Managing a MySQL database
    • Common SQL clauses including: Create, Add, Drop, Describe, Insert, Update, Replace, Delete
    • Introducing SELECT queries
  • Week 4, Building powerful SQL SELECT queries
    The SQL SELECT query is so fundamental that we look at this in detail, exploring many of the options and abilities of this powerful command. SELECT retrieves data from one or more tables, or expressions and usually have no persistent effect on the database.
    • Everything you need to know about SELECT queries
    • SELECT clauses including; FROM, WHERE, HAVING, and GROUP BY
  • Week 5, Advanced MySQL queries and the Moodle database
    After mastering the basics here we look at some more advanced queries and reporting.
    This week we move from using our 'project model' database and start interrogating a real Moodle database !
    • Sub queries
    • SQL operators
    • Exporting and Importing a Moodle database for querying
    • Advanced queries
  • Week 6, Reporting and essential Moodle plugins
    After you have mastered the essential MySQL commands it's time to build on these..
    We also look at some of the most useful plugins that can help with your MySQL reporting needs.

    • Advanced reporting techniques
    • Moodle plugins to help with MySQL reporting including:
      • Ad-hoc database queries plugin - and useful queries
      • Configurable reports plugin - how to get the best out of it
      • Moodle Adminer (and plugin) / phpMyAdmin
  • Week 7, MySQL Workbench
    An incredibly powerful application, MySQL Workbench is a visual database design tool that integrates SQL development, administration, database design, creation and maintenance into a single environment (developed by Oracle).
    • Introducing MySQL Workbench
    • Key features such as syntax highlighting, drag-n-drop modelling, and snippit collections
    • Using in the 'real world'
    • More Moodle reporting tips and examples
  • Week 8, 'Catchall' (everything else we can fit in)
    There are lots of "bits and pieces" that do not fit neatly into the main topics of previous weeks. Some are isolated elements, some are just things we have found useful over the years and want to share! This final week provides a 'catch-all' opportunity and helps guide you in how to continue developing your skills in this area.
    • Miscellaneous information regarding MySQL and Moodle
    • 'Catachall' - review, reflect, and revisit
    • MySQL professional development
    • Where next... ?

*This outline is subject to change as Moodle changes and we update the content.