The value of certification
I recently arranged for the developers at our company to get MySQL certified. From the employer's point of view, it was not the piece of paper I was after. Rather, the improved productivity that properly-trained MySQL users could provide. The benefits have been noticeable. The number of badly written queries has decreased, saving everyone time and effort. The developers feel more confident using MySQL, and can use features they previously had not known existed.
There are two sources of MySQL certification that I know about. One is the Brainbench MySQL 3.23 certification, and the other one, much more well-known, and more credible, is the official MySQL certification, which consists of two levels, Core (for MySQL users) and Professional (for MySQL administrators). The Brainbench one is rather outdated. Since the latest stable release, MySQL 4.1, is two major versions away from 3.23, there is not much benefit to be gained from the Brainbench certification. Also, Brainbench tests are seen as less credible because they can be done online, without supervision, but this can easily be overcome by an employer ensuring the test is done on their premises (and Brainbench offers a free repeat test to employers if they wish to validate an employees certification).
Nevertheless, the rest of this article focuses on the official MySQL Core certification. What follows is a reference for people studying for the Core certification, including a list of topics covered in the Core exam, as well as resources from mainly the MySQL site and Database Journal that you can use to enhance your studies.
MySQL Core Certification
The test covers MySQL 4.1, and tests the typical skills required by a MySQL usersomeone using MySQL, such as a developer. In general, this includes data definition (creating, modifying and deleting databases and tables) and data manipulation (inserting, modifying, deleting and selecting data).
The complete list of exam topics (as defined by MySQL in March 2005) follows, as well as links to relevant Database Journal and other articles that can help you study this topic:
- Theory about MySQL AB (the MySQL company) and the MySQL database server (5%). This includes the difference between MySQL and MySQL AB, core values of the company and how it operates, the GNU and commercial licenses, mailing lists and the reference manual.
- Operating Systems, MySQL distributions and other Software (10%). Includes major program components used in MySQL, major OS families supported by MySQL, differences between major distributions, client interfaces
- Using MySQL Client Programs (10%). Includes all about the MySQL client, interactive usage, mysqlimport, mysqldump. checking tables, using MySQL Connector/ODBC and MySQL Connector/J.
Definition Language (20%). Includes general database and table properties,
storage engines, size limits, identifier syntax, creating and dropping
databases, creating, modifying and dropping tables and indexes, primary keys,
column types, AUTO_INCREMENT, string and number formats (including MySQL 4.1
TIMESTAMP), viewing table structures.
- CREATE DATABASE
- CREATE TABLE
- CREATE INDEX
- Table types in MySQL: Part 1 - HEAP tables (Database Journal)
- Table Types in MySQL: Part 2 - InnoDB tables (Database Journal)
- MySQL Storage Engines and Table Types
- ALTER TABLE syntax
- DROP TABLE syntax
- DROP INDEX syntax
- DROP DATABASE syntax
- String types
- Numeric types
- Date and time types
- Column type storage requirements
- Identifier qualifiers
- SHOW Syntax
- DESCRIBE syntax
- The DATETIME, DATE and TIMESTAMP types
- TIMESTAMP properties as of MySQL 4.1
- Using AUTO_INCREMENT
- Data Definition Language, Part 1 (excerpt from the MySQL Certification Guide)
- Data Definition Language, Part 2 (excerpt from the MySQL Certification Guide)
- SELECT Statements (15%). Includes selecting columns, the WHERE condition, ORDER BY, LIMIT, GROUP BY, HAVING, DISTINCT and UNION, as well as the MySQL 4.1-specific GROUP_CONCAT() and GROUP BY ... WITH ROLLUP.
(10%). In particular, SQL expressions and functions, pattern matching with LIKE
and wildcards, the IN() function, case sensitivity, reserved words as
identifiers, NULLs and comments, prepared statements.
- SQL statement syntax
- String comparison functions
- Comparison functions and operators
- Working with null values
- Problems with NULL values
- Identifier case-sensitivity
- Case-sensitivity in searches
- Treatment of reserved words in MySQL
- Comment syntax
- '--' as the start of a comment
- SQL syntax for prepared statements
- Update Statements (10%), including UPDATE, INSERT, REPLACE, DELETE, TRUNCATE, handling duplicate keys, ORDER BY and LIMIT
- Joins (15%). In particular, INNER JOIN, LEFT JOIN, RIGHT JOIN, converting subqueries to inner and outer joins, multi-table UPDATE and DELETE, and using qualifiers and aliases.
- Importing and Exporting Data: (5%). This includes the LOAD DATA INFILE and SELECT INTO OUTFILE statements, the privileges required for these statements, using files on the server and client, limiting and ordering the results, and handling duplicate values.
- Exam Contents - MySQL Core certification
- MySQL Certification Study Guides
- MySQL 4 certification study guide addendum