MySQL for Developers

5 Day Course
Hands On

Book Now - 2 Delivery Methods Available:

Classroom Virtual Classroom Private Group - Virtual Self-Paced Online


This MySQL Developers training course is designed for MySQL Developers who have a good understanding of a MySQL database and experience of using SQL commands. The course provides further practical experience in more advanced MySQL commands and SQL statements including Stored Routines, Triggers and Event Scheduling.

The delegates will practise:

  • Using advanced features of the MySQL Client
  • Using advanced data types
  • Managing the structure of databases and tables
  • Managing and using indexes
  • Writing complex SQL query statements
  • Using advanced SQL expressions
  • Using advanced SQL functions
  • Performing advanced Insert, Update, Delete, Replace and Truncate Operations
  • Using user variable syntax and properties
  • Importing and exporting data from within MySQL
  • Importing and exporting data from the command line
  • Performing complex joins to access multiple tables
  • Performing complex subqueries
  • Creating, managing and using views
  • Using prepared statements
  • Creating and using stored routines
  • Creating and using triggers
  • Event Scheduling
  • Obtaining database metadata
  • Optimizing queries
  • Working with the main storage engines
  • Debugging MySQL applications

Together with the Introduction to MySQL course, the content of this MySQL for Developers course covers the topics required for the Certified Professional MySQL Developer I and Certified Professional MySQL Developer II examinations. Exams are not included as part of the course.

Training Partners

We work with the following best of breed training partners using our bulk buying power to bring you a wider range of dates, locations and prices.


Hide all

Client/Server Concepts (7 topics)

  • MySQL client/server architecture
  • Server modes
  • Using client programs
  • Logging in options
  • Configuration files
  • Precedence of logging in options
  • Exercises: Using client/server

The MySQL Client Program (15 topics)

  • Using MySQL interactively
  • The MySQL prompts
  • Client commands and SQL statements
  • Editing
  • Selecting a database
  • Help
  • Safe updates
  • Using script files
  • Using a source file
  • Redirecting output into a file
  • Command line execution
  • Mysql output formats
  • Overriding the defaults
  • Html and xml output
  • Exercises: Using the MySQL client program

Data Types (12 topics)

  • Bit data type
  • Numeric data types
  • Auto_increment
  • Character string data types
  • Character sets and collation
  • Binary string data types
  • Enum and Set data types
  • Temporal data types
  • Timezone support
  • Handling Missing Or Invalid Data Values
  • SQL_MODE options
  • Exercises: Using data types

Indentifiers (6 topics)

  • Using Quotes with identifier naming
  • Case sensitivity in Identifier naming
  • Qualifying columns with table and database names
  • Using reserved words as identifiers
  • Function names
  • Exercises: Using identifiers

Databases (10 topics)

  • Database properties
  • Creating a database
  • Selecting a database
  • Altering databases
  • Dropping databases
  • Obtaining database metadata
  • The SHOW command
  • The SHOW CREATE command
  • Exercises: Using databases

Tables and Indexes (28 topics)

  • Table properties
  • Creating tables
  • Create table using Select or Like
  • Temporary tables and memory tables
  • Altering tables
  • Adding columns
  • Changing column widths and types
  • Renaming columns
  • Dropping columns
  • Adding constraints
  • Dropping constraints
  • Renaming tables
  • Change the table storage engine
  • Multiple alterations
  • Dropping tables
  • Emptying tables
  • Obtaining table metadata
  • Show create table
  • The information_schema
  • Index introduction
  • Structure of a mysql index
  • Creating and dropping indexes
  • Creating an index
  • Altering a table to add an index
  • Specifying index type
  • Dropping indexes
  • Obtaining Index Metadata
  • Exercises: Creating, altering and dropping tables/indexes

Querying for Data (12 topics)

  • The SQL select statement and MySQL differences
  • Advanced order by
  • Order by and collation
  • Order by with enum datatype
  • Order by with Set datatype
  • Ordering with distinct and group by
  • Special features of union
  • Limit and order by clauses
  • Group By clause
  • Group_concat
  • Using Rollup in a Group By clause
  • Exercises: Querying for data

SQL Expressions and Functions (11 topics)

  • Components of expressions
  • Nulls
  • Numeric expressions
  • String expressions
  • Temporal expressions
  • Comparison functions
  • Flow control functions
  • Numeric functions
  • String functions
  • Temporal functions
  • Exercises: Using expressions and functions

Updating Data (10 topics)

  • Update operations and privileges
  • Inserting rows
  • Insert using a set clause
  • Inserting duplicate values
  • Replacing rows
  • Updating rows
  • Update using the order by and limit clauses
  • Deleting rows
  • The delete and truncate statements
  • Exercise: Inserting, updating, replacing and deleting data

Connectors (5 topics)

  • MySQL client interfaces
  • Connector/j
  • Connector/odbc
  • Connector/net

Obtaining Database Metadata (10 topics)

  • What is metadata?
  • The mysqlshow utility
  • The show and describe commands
  • Describing tables
  • The information_schema
  • Listing tables
  • Listing columns
  • Listing views
  • Listing key_columns_usage
  • Exercises: Obtaining database metadata

Debugging (9 topics)

  • Mysql error messages
  • The show statement
  • Show errors
  • Show count(*) errors
  • Show warnings
  • Show count(*) warnings
  • Note messages
  • The perror utility
  • Exercises: Debugging

Joins (16 topics)

  • Overview of inner joins
  • Cartesian product
  • Inner joins with original syntax
  • Non equi-join
  • Using table aliases to avoid name clashes
  • Inner Joins With ISO/ANSI Syntax
  • Outer Joins
  • Left outer joins
  • Right outer joins
  • Full outer joins
  • Updating multiple tables simultaneously
  • Updating rows in one table based on a condition in another
  • Updating rows in one table reading data from another
  • Deleting from multiple tables simultaneously
  • Deleting rows in one table based on a condition in another
  • Exercises: Coding joins

Subqueries (10 topics)

  • Types of subquery
  • Multiple-column subqueries
  • Correlated subqueries
  • Using the ANY, ALL and SOME operators
  • Using the EXISTS operator
  • Subqueries as scalar expressions
  • Inline views
  • Converting subqueries to joins
  • Using subqueries in updates and deletes
  • Exercises: Coding subqueriess

Views (9 topics)

  • Why views are used
  • Creating views
  • View creation restrictions
  • View algorithms
  • Updateable views
  • Altering and dropping views
  • Displaying information about views
  • Privileges for views
  • Exercises: Using views

Import and Export (10 topics)

  • Exporting using SQL
  • Privileges required to export data
  • Importing using SQL
  • Messages when loading data
  • Privileges required to load data
  • Exporting from the command line
  • Mysqldump main options
  • Importing from the command line
  • Mysqlimport main options
  • Exercises: Importing and exporting

User Variables and Prepared Statements (7 topics)

  • Creating User variables
  • User variables in a select
  • Prepared statements
  • The prepare statement
  • The execute statement
  • The deallocate statement
  • Exercises: Using variables and prepared statements

Introduction to Stored Routines (13 topics)

  • Types of stored routines
  • Benefits of stored routines
  • Stored routine features
  • Differences between procedures and functions
  • Introduction to the Block
  • Declaring variables and constants
  • Assigning values to variables
  • Definer rights and invoker rights
  • Using SELECT in stored routines
  • Altering and dropping stored routines
  • Obtaining stored routine metadata
  • Stored routine privileges and execution security
  • Exercises: Writing simple stored routines

Stored Routines - Program Logic (8 topics)

  • The IF .. THEN .. ELSEIF construct
  • The CASE statement
  • The basic loop
  • The while loop
  • The repeat loop
  • The iterate statement
  • Nested loops
  • Exercises: Writing stored routines with program logic

Stored Routines - Exception Handlers & Cursors (9 topics)

  • Dealing with errors using Exception handlers
  • Cursors
  • What is a cursor?
  • Cursor operations
  • Declaring cursors
  • Opening and closing cursors
  • Fetching rows
  • Status checking
  • Exercises: Writing stored routines with program logic

Procedures with Parameters (3 topics)

  • Creating procedures with parameters
  • Calling Procedures With Parameters
  • Exercises: Writing stored routines with parameters

Functions (7 topics)

  • What is a function?
  • The create function statement
  • Executing functions
  • Executing functions from code
  • Executing functions from SQL statements
  • The deterministic and SQL clauses
  • Exercises: Writing functions

Triggers (8 topics)

  • Trigger creation
  • Restrictions on triggers
  • The create trigger statement
  • Using the old and new qualifiers
  • Managing triggers
  • Destroying triggers
  • Required privileges
  • Exercises: Writing triggers

The Event Scheduler (6 topics)

  • Event scheduler concepts
  • Event scheduler configuration
  • Creating, altering and dropping events
  • Event scheduler monitoring
  • Events and privileges
  • Exercises: Creating and using events

Basic Optimizations (6 topics)

  • Normalisation of data to third normal form
  • Using indexes for optimization
  • General query enhancement
  • Using Explain to analyze queries
  • Choosing an INNODB or MYISAM storage engine
  • Exercises: Making use of basic optimizations

More About Indexes (2 topics)

  • Indexes and joins
  • Exercises: Investigating indexes and joins


A working knowledge of MySQL is required. This can be gained by attendance on the Introduction to MySQL course.

Additional Learning

The courses below may help you meet the knowledge level required to take this course.

Scheduled Dates

Please select from the dates below to make an enquiry or booking.


Different pricing structures are available including special offers. These include early bird, late availability, multi-place, corporate volume and self-funding rates. Please arrange a discussion with a training advisor to discover your most cost effective option.

Code Location Duration Price Jan Feb Mar Apr May Jun
MYSD 5 Days $2,050

Course PDF


Share this Course


Recommend this Course