Entry Requirements
A working knowledge of MySQL is required. This can be gained by attendance on the Introduction to MySQL.
Pre-requisite Courses
⢠Introduction to MySQL
Follow-on Courses
⢠MySQL Database Administration
⢠PHP Programming & MySQL for Web Development
⢠Perl Programming
Notes
⢠Course technical content is subject to change without notice.
⢠Course content is structured as sessions, this does not strictly map to course timings. Concepts, content and practicals often span sessions.
Syllabus – Key points
Course Contents – DAY 1
Course Introduction
⢠Administration and Course Materials
Ā·Ā Ā Ā Ā Ā Course Structure and Agenda
Ā·Ā Ā Ā Ā Ā Delegate and Trainer Introductions
Session 1: CLIENT/SERVER CONCEPTS
Ā·Ā Ā Ā Ā Ā MySQL client/server architecture
Ā·Ā Ā Ā Ā Ā Server modes
Ā·Ā Ā Ā Ā Ā Using client programs
Ā·Ā Ā Ā Ā Ā Logging in options
Ā·Ā Ā Ā Ā Ā Configuration files
Ā·Ā Ā Ā Ā Ā Precedence of logging in options
Ā·Ā Ā Ā Ā Ā Exercises: Using client/server
Session 2: 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
Ā·Ā Ā Ā Ā Ā Exercises: Using the MySQL client program
Session 3: 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
ā¢Ā Ā Ā Ā Spatial Datatypes
ā¢Ā Ā Ā Ā Handling Missing Or Invalid Data Values
ā¢Ā Ā Ā Ā SQL_MODE options
ā¢Ā Ā Ā Ā Exercises: Using data types
Session 4: 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
ā¢Ā Ā Ā Ā Exercises: Using identifiers
Session 5: 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
ā¢Ā Ā Ā Ā Exercises: Querying for data
Course Contents – DAY 2
Session 6: EXPRESSIONS AND FUNCTIONS
ā¢Ā Ā Ā Ā 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
Session 7: 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
Session 8: 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
Session 9: OBTAINING DATABASE METADATA
ā¢Ā Ā Ā Ā What is metadata?
ā¢Ā Ā Ā Ā Using mysqlshow utility with MariaDB
ā¢Ā Ā Ā Ā The show and describe commands
ā¢Ā Ā Ā Ā Describing tables
ā¢Ā Ā Ā Ā The information_schema
ā¢Ā Ā Ā Ā Listing tables
ā¢Ā Ā Ā Ā Listing columns
ā¢Ā Ā Ā Ā Listing views
ā¢Ā Ā Ā Ā Listing key_columns_usage
ā¢Ā Ā Ā Ā Exercises: Obtaining database metadata
Session 10: DEBUGGING
ā¢Ā Ā Ā Ā MySQL error messages
ā¢Ā Ā Ā Ā The show statement
ā¢Ā Ā Ā Ā Show errors
ā¢Ā Ā Ā Ā Show count(*) errors
ā¢Ā Ā Ā Ā Show warnings
ā¢Ā Ā Ā Ā Show count(*) warnings
ā¢Ā Ā Ā Ā Note messages
ā¢Ā Ā Ā Ā The perror utility
ā¢Ā Ā Ā Ā Exercises: Debugging
Course Contents – DAY 3
Session 11: 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
ā¢Ā Ā Ā Ā Exercises: Importing and exporting
Session 12: SUBQUERIES
ā¢Ā Ā Ā Ā Types of subquery
ā¢Ā Ā Ā Ā Multiple-column subqueries
ā¢Ā Ā Ā Ā Correlated subqueries
ā¢Ā Ā Ā Ā Using the ANY, ALL and SOME operators
ā¢Ā Ā Ā Ā Using the EXISTS operator
ā¢Ā Ā Ā Ā Subqueries as scalar expressions
ā¢Ā Ā Ā Ā Derived Table
ā¢Ā Ā Ā Ā WITH Clause ( Common Table Expression – CTE )
ā¢Ā Ā Ā Ā Recursive CTEs
ā¢Ā Ā Ā Ā Using subqueries in updates and deletes
ā¢Ā Ā Ā Ā Exercises: Coding subqueries
Session 13: VIEWS
Session 14: USING WINDOW FUNCTIONS
Session 15: REGULAR EXPRESSION SUPPORT
Course Contents – DAY 4
Session 16: USER VARIABLES AND PREPARED STATEMENTS
Session 17: INTRODUCTION TO STORED ROUTINES
Session 18: STORED ROUTINES ā PROGRAM LOGIC
Session 19: PROCEDURES WITH PARAMETERS
Course Contents – DAY 5
Session 20: STORED ROUTINES – EXCEPTION HANDLERS & CURSORS
Session 21: FUNCTIONS
Session 22: TRIGGERS
Session 23: BASIC OPTIMIZATIONS
Session 24: MORE ABOUT INDEX
Alastair | Stock Office Manager –
Thoroughly enjoyable course with a lot of detail and explanation. The trainer was also very good at assisting with a few questions where I was trying to look at how I could use certain aspects of what learned into our business when I get back. Can’t thank him enough for this.