MySQL
Design, query and tune relational databases with MySQL.
- Self-paced
- 8–10 weeks
- 25+ hrs
- Credential included
Curriculum
6 subjects · 13 chapters · 52 topics
- 01
Databases and MySQL
1.1 Fundamentals
- What a relational database is
- MySQL architecture and storage engines
- Installing MySQL and Workbench
- Connecting and first queries
1.2 Data types
- Numeric, string and date types
- Choosing the right type
- NULL and default values
- Character sets and collation
- 02
Designing a Database
2.1 Schema design
- Entities, attributes and relationships
- Primary and foreign keys
- Normalisation to third normal form
- When to denormalise
2.2 Creating objects
- CREATE DATABASE and TABLE
- Constraints: unique, check, not null
- ALTER and DROP
- Auto-increment and sequences
- 03
Querying Data
3.1 Retrieving
- SELECT, WHERE and operators
- ORDER BY and LIMIT
- DISTINCT and aliases
- Pattern matching with LIKE and REGEXP
3.2 Combining data
- INNER, LEFT, RIGHT and CROSS JOIN
- Self joins
- UNION and UNION ALL
- Subqueries and derived tables
3.3 Summarising
- Aggregate functions
- GROUP BY and HAVING
- Window functions
- Common table expressions
- 04
Modifying Data
4.1 Writing data
- INSERT and bulk insert
- UPDATE with joins
- DELETE and TRUNCATE
- REPLACE and INSERT ON DUPLICATE KEY
4.2 Transactions
- ACID properties
- COMMIT, ROLLBACK and SAVEPOINT
- Isolation levels
- Deadlocks
- 05
Programming and Performance
5.1 Stored routines
- Stored procedures
- Functions
- Triggers
- Events and scheduling
5.2 Views and indexes
- Creating and using views
- Index types and how they work
- Reading EXPLAIN output
- Query optimisation
- 06
Administration
6.1 Running MySQL
- Users, roles and privileges
- Backup with mysqldump
- Restore and point-in-time recovery
- Replication overview
6.2 Project
- Designing a database for a real application
- Writing the schema and queries
- Optimising the slow parts
- Documenting the design

