MYSQL FOR DEVELOPERS TRAINING COURSE DESCRIPTION
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.
WHAT WILL YOU LEARN
* Provide the skills needed to write more advanced queries and database
maintenance statements on a MySQL database.
* Use advanced features of the MySQL Client.
* Use advanced data types.
* Manage the structure of databases and tables.
* Manage and using indexes.
* Write complex SQL query statements.
* Use advanced SQL expressions.
* Use advanced SQL functions.
* Perform advanced Insert, Update, Delete, Replace and Truncate Operations.
* Use user variable syntax and properties.
* Import and export data from within MySQL.
* Import and export data from the command line.
* Perform complex joins to access multiple tables.
* Perform complex subqueries.
* Create, manage and us views.
* Use prepared statements.
* Create and use stored routines.
* Create and use triggers.
* Obtain database metadata.
* Optimize queries.
* Work with the main storage engines.
* Debug MySQL applications.
MYSQL FOR DEVELOPERS TRAINING COURSE DETAILS
* Who will benefit:
MySQL Developers who have a basic understanding of a MySQL database and SQL
commands as covered on the Introduction to MySQL course.
* Prerequisites:
MySQL foundation
* Duration
5 days
MYSQL FOR DEVELOPERS TRAINING COURSE CONTENTS
* Introduction
Administration and Course Materials, Course Structure and Agenda, Delegate
and Trainer Introductions.
* Client/server concepts
MySQL client/server architecture, Server modes, Using client programs,
Logging in options, Configuration files, Precedence of logging in options
Hands on Using client/server
* The MySQL client program
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, MySQL Utilities.
Hands on Using the MySQL client program
* Data types
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.
Hands on Using data types
* Identifiers
Using Quotes with identifier naming, Case sensitivity in Identifier naming,
Qualifying columns with table and database names, Using reserved words as
identifiers, Function names
Hands on Using identifiers
* Databases
Database properties, Creating a database, Selecting a database, Altering
databases, Dropping databases, Obtaining database metadata, The SHOW command,
The INFORMATION_SCHEMA database, The SHOW CREATE command
Hands on Using databases
* Tables and indexes
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.
Hands on Creating, altering and dropping tables/indexes
* Querying for data
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.
Hands on Querying for data
* SQL Expressions and functions
Components of expressions, Nulls, Numeric expressions, String expressions,
Temporal expressions, Comparison functions, Flow control functions, Numeric
functions, String functions, Temporal functions.
Hands on Using expressions and functions
* Updating data
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
MySQL client interfaces, MySQL connectors, Oracle and community conectors,
Connecting to MySQL server using Java and PHP connectors, MySQL and NoSQL,
Innodb integration with memcached.
* Obtaining database metadata
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.
Hands on Obtaining database metadata
* Debugging
Mysql error messages, The show statement, Show errors, Show count(*) errors,
Show warnings, Show count(*) warnings, Note messages, The perror utility.
Hands on Debugging
* Joins
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.
Hands on Coding joins
* Subqueries
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.
Hands on Coding subqueries
* Views
Why views are used, Creating views, View creation restrictions, View
algorithms, Updateable views, Altering and dropping views, Displaying
information about views, Privileges for views.
Hands on Using views
* Import and Export
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.
Hands on Importing and exporting
* User variables and prepared statements
Creating User variables, User variables in a select, Prepared statements, The
prepare statement, The execute statement, The deallocate statement, Using
prepared statements in code, with connectors.
Hands on Using variables and prepared statements
* Introduction to stored routines
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.
Hands on Writing simple stored routines
* Stored routines - program logic
The IF .. THEN .. ELSEIF construct, The CASE statement, The basic loop, The
while loop, The repeat loop, The iterate statement, Nested loops.
Hands on Writing stored routines with program logic
* Stored routines - exception handlers and cursors
Dealing with errors using Exception handlers, Cursors, What is a cursor?,
Cursor operations, Declaring cursors, Opening and closing cursors, Fetching
rows, Status checking.
Hands on Writing stored routines with program logic
* Procedures with parameters
Creating procedures with parameters, Calling Procedures With Parameters.
Hands on Writing stored routines with parameters
* Functions
What is a function?, The create function statement, Executing functions,
Executing functions from code, Executing functions from SQL statements, The
deterministic and SQL clauses.
Hands on Writing functions
* Triggers
Trigger creation, Restrictions on triggers, The create trigger statement,
Using the old and new qualifiers, Managing triggers, Destroying triggers,
Required privileges.
Hands on Writing triggers
* Basic optimizations
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, Using MySQL Enterprise Monitor in query
optimization.
Hands on Making use of basic optimizations
* More about indexes
Indexes and joins
Hands on Investigating indexes and joins