MySQL & MariaDB fundamentals course

This course presents a description of MySQL and of the very similar MariaDB: what it is, what it is intended for, and how it can be used. The participant will learn

  • the structure of recent versions of the MySQL database software, and the similar MariaDB software;
  • the use of the "client" tools: command line interface, graphical interfaces, admin interface;
  • the objects for data storage and data manipulation;
  • creating databases, tables, and users;
  • preparing a database for use, especially authorisations and indexes.

Attention is also paid to the use in the context of a web server, to MySQL and MariaDB in relation to other RDBMS, and to specific topics like models for data storage, integrity, authorisations, and performance.

Moreover, this course will explain how to install the system and use it in practice, both on Unix/Linux systems and on MS-Windows. After completion, the participants will not only have the necessary theoretical background of MySQL and MariaDB as RDBMS but also will have had sufficient practical training to start working with MySQL or MariaDB in an independent way.

Together with SQL and relational databases fundamentals this course forms a well-balanced whole, in such a way that after successful conclusion of this course, the participants will have a 'complete overview' of MySQL and MariaDB as RDBMS.


21 May3web based 1710 EUR (excl. VAT)
21 May3Leuven 1710 EUR (excl. VAT)

Intended for

Analysts, developers, and database administrators who will be using MySQL and/or MariaDB; web server maintainers who are not yet familiar with MySQL or MariaDB; and anybody wanting to gain knowledge of the detailed workings of a relational database system.


The participants must have insight in relational database systems and SQL (see course SQL and relational databases fundamentals). You can test for yourself to see whether you have sufficient background by filling out the online self-test.

Some knowledge of a programming language is not necessary. The course will however briefly treat - if need exists - the typical ways to access MySQL and MariaDB from one of the programming languages PHP (cf. PHP programming: fundamentals course), Java (cf. course Java programming), or Perl (cf. Perl programming: fundamentals course).

Main topics

  • Introduction: the MySQL and MariaDB environment; client-server-model; position within the relational model
  • SQL data definition language (DDL): database objects (like tables, storage engines (esp. InnoDB), indexes, views, triggers); data types; characteristics; creation of objects, using them, and parameters
  • SQL embedded in a program, esp. for supporting dynamic web pages
  • Metadata: the INFORMATION_SCHEMA; the DESCRIBE and SHOW statements
  • Securing the database environment and assigning authorizations
  • Utilities: export/import of external data; defragmentation; check and repair; master/slave replication
  • Use of the commands "mysql" and "mysqladmin", of the MySQL Workbench, and of the new MySQL Shell
  • Data integrity, locking and transactions
  • Performance: basic principles; use of indexes to improve performance; the 'EXPLAIN' statement
  • Basic installation and configuration of the MySQL Community Server, of MySQL Cluster, and of MariaDB Server

Training method

Classroom instruction with hands-on practice and exercises (about 50% of the time).


3 days.

Course leader

Peter Vanroose.