· intermediate
MySQL
MySQL runs a very large share of the web, and it is not Postgres with different keywords. Its comparisons are case-insensitive by default, its tables are clustered by primary key, its idea of utf8 is not UTF-8, and a server setting can decide whether bad data raises an error or is quietly accepted. This is what you need to know before you trust it with anything.
Written in house, from the work rather than from a syllabus. Every example is one we would use ourselves, and every quiz question explains why its answer is right.
What you’ll learn
- Read MySQL syntax fluently, including backticks, LIMIT offsets and its own function names
- Explain why a MySQL WHERE clause matches regardless of case, and when that is a problem
- Say what sql_mode changes, and why the same INSERT can error on one server and succeed on another
- Avoid the utf8 trap by knowing what utf8mb4 actually fixes
- Choose a primary key knowing that InnoDB clusters the table on it
- Pick between DATETIME and TIMESTAMP deliberately
- Write an upsert with ON DUPLICATE KEY UPDATE
- Translate between MySQL and Postgres for the constructs that differ
Before you start
- · SQL Foundations, and comfort with GROUP BY and joins
- · Helpful but not required: the PostgreSQL course, which this one contrasts against