MySQL certificate: how the final exam and certificate work
AdvertisementThe free MySQL course is the longest of the written courses on this site: 50 lessons that take you from installing the database to window functions, transactions and stored routines. It ends with a final exam, and passing it earns a certificate in your name. This post explains the rules, what the questions are likely to test, and how to prepare. The general rules are shared by every course; the HTML certificate post describes them in a step-by-step form.
The requirements
- A free account, so the certificate carries your name.
- All 50 lessons ticked as complete. The exam unlocks only then.
- A pass in the exam.
The course uses one sample shop database for all of its examples, so you meet the same tables (customers, products, orders) again and again. Every query and output in the lessons was run on a real MySQL server, so the results you see are exactly what MySQL prints.
The exam
| Rule | Value |
|---|---|
| Questions | 15 multiple-choice questions per attempt |
| Question bank | 40 questions; each attempt is a random 15 |
| Time | 30 minutes, with the timer running even if you leave the page |
| Pass mark | 70%, which is 11 correct out of 15 |
| Attempts | 3 in any rolling 24 hours |
With a bank of 40 and 15 drawn, two attempts usually differ quite a lot. You cannot prepare by learning a fixed set of answers; you need to understand the material. Some questions show a short query and ask what it returns, which is the kind of thing you can only answer by being able to read SQL.
Nine sections to know
| Section | Lessons | Topics |
|---|---|---|
| Getting started | 4 | What MySQL is, installing, the command line, the sample database |
| Reading data | 7 | SELECT, WHERE, AND/OR/NOT/IN/BETWEEN, ORDER BY and LIMIT, LIKE and REGEXP, DISTINCT and aliases, NULL |
| Changing data | 4 | INSERT, UPDATE, DELETE and TRUNCATE, upserts |
| Functions | 4 | String, numeric, date and time functions, CASE/IF/IFNULL/COALESCE |
| Summarising data | 3 | Aggregates, GROUP BY, HAVING and ROLLUP |
| Combining tables | 6 | Joins, UNION, subqueries, EXISTS/ANY/ALL |
| Building databases | 7 | CREATE, data types, keys, constraints, foreign keys, ALTER, normalisation |
| Faster and safer | 5 | Indexes, EXPLAIN, views, transactions, storage engines |
| Advanced and practical | 10 | Window functions, CTEs, JSON, routines, triggers, prepared statements, users, backup, SQL injection, the project |
Where learners lose marks
SQL looks simple, which hides the details. These are the topics where careful reading wins or loses points:
NULL behaviour. NULL = NULL is not true; it is unknown. Use IS NULL. Aggregates like COUNT(column) skip NULLs, but COUNT(*) counts rows. NOT IN with a NULL in the list returns nothing, which surprises almost everyone once.
WHERE versus HAVING. WHERE filters rows before grouping, HAVING filters groups after it. A condition on an aggregate such as COUNT(*) > 5 belongs in HAVING.
Join types. What INNER JOIN keeps, what LEFT JOIN keeps, and why a WHERE condition on the right-hand table can quietly turn a LEFT JOIN into an inner join. Be ready to say how many rows a join returns from two small tables.
GROUP BY rules. Every selected column must be grouped or aggregated. Know what WITH ROLLUP adds.
Order of clauses. The written order is SELECT … FROM … WHERE … GROUP BY … HAVING … ORDER BY … LIMIT, and the logical order of evaluation is different. This explains why you can use an alias in ORDER BY but not in WHERE.
Keys and constraints. The difference between primary key, unique and foreign key, what ON DELETE actions do and what AUTO_INCREMENT guarantees (uniqueness, not gap-free numbers).
Transactions. COMMIT, ROLLBACK, and what atomicity means. Which storage engine supports transactions.
Indexes. What an index speeds up, what it costs on writes, and what EXPLAIN shows. Why a function applied to an indexed column in WHERE can prevent the index from being used.
Window functions. The difference between GROUP BY (collapses rows) and a window function (keeps rows), and ROW_NUMBER, RANK and DENSE_RANK on ties.
Security. How SQL injection works and why prepared statements prevent it.
Revision plan
A week before the exam:
- Day 1-2: reread the summary lines at the top of the lessons in "Reading data" and "Summarising data". Run each example again in your own MySQL.
- Day 3: joins. Draw two small tables on paper and write the result of each join type before running it.
- Day 4: design: keys, constraints, normalisation. Create a small database for something of your own, like a library, from scratch.
- Day 5: indexes,
EXPLAINand transactions. RunEXPLAINon a query before and after adding an index. - Day 6: window functions, CTEs and JSON.
- Day 7: redo the quizzes of every section and the project, then rest.
The MySQL cheat sheet, the SQL joins cheat sheet and the MySQL interview questions are useful for quick checks. For a longer schedule, follow the 60-day MySQL and SQL study plan.
Most important of all: type queries. Reading a query and recognising it is a different skill from writing one. The only way to be fluent is to run hundreds of them.
After you pass
Your certificate appears on your dashboard, with your name, the course title, your score, the date and an ID like MH-MYSQL-…. Anyone can verify it on the certificate page by opening its link or entering the ID. You can print or save it as PDF, copy the link or add it to LinkedIn. It is proof of completing this course and passing its exam, not an accredited qualification, so show it next to something you have built, such as the reports project from the last lesson or a database you designed yourself.
If you fail an attempt, look at the topics of the questions you missed, return to the lessons and retry the examples in a real MySQL session. You have three attempts per 24 hours.
What next
MySQL combines naturally with PHP: the database lessons there show how a web page reads and writes the tables you now know how to design. For reading, editing and cleaning data in text files, see the free tools such as the JSON Formatter.
Quick answers
How many lessons must I finish? All 50.
How many questions are in the exam? 15, drawn from a bank of 40.
What is the pass mark? 70%, meaning at least 11 correct.
Can I use MySQL while taking the exam? The exam expects you to work on your own, without looking things up.
Is the certificate accredited? No. It is a verifiable record of completing this course.