For language learners, "The best way to learn a foreign language is to speak it" (via antimoon.com), which must be the most frequently repeat pieces. This approach for learning new staff is also useful for learning MySQL, with a little bit modify, "The best way to learn MySQL is to use it", which is the fast way to familiar with it.
After you install MySQL on your PC, Mac OS, Linux, whatever system you used, but with the blank database of default installation, you don't have a chance to have fun with it. So, MySQL also provides some sample databases to help you out.
1. employee sample database
Quote from MySQL AB,
"The Employees sample database was developed by Patrick Crews and Giuseppe Maxia and provides a combination of a large base of data (approximately 160MB) spread over six separate tables and consisting of 4 million records in total. The structure is compatible with a wide range of storage engine types. Through an included data file, support for partitioned tables is also provided.
In addition to the base data, the Employees database also includes a suite of tests that can be executed across the test data to ensure the integrity of the data that you have loaded. This should help ensure the quality of the data during initial load, and can be used after usage to ensure that no changes have been made to the database during testing."
2. world sample database
Maybe 10 years ago, world sample database is the only one that MySQL AB provided for users, which has just 3 tables, cities, counties and langs. MySQL AB obtained from other outside source, so they don't have the ability to control it and don't have the right to bundle it inside MySQL, because it is not intellectual property of mysql. Additionally, users found lots of flaws of this sample, such as below:
- No table type diversity, not a lot of data type diversity
- No MySQL 5 features
- Not a lot of data
- Not really used in tutorials and articles because it's not robust enough
which means this sample is totally out of date, but still can find a shadow inside the newer sample database history documentation.
The world sample database provides a set of tables containing information on the countries and cities of the world and is useful for basic queries, but lacks structures for testing MySQL-specific functionality and new features found in MySQL 5.
3. Sakila sample database (require MySQL 5.0 or later)
Sakila is the official name of MySQL dolphin (the logo). The name come from Ambrose Twebaze, a open source software developer from Swaziland, Africa. This sample database was designed as a replacement to the world sample database. Development of the Sakila sample database began in early 2005. Early designs were based on the database used in the Dell whitepaper Three Approaches to MySQL Applications on Dell PowerEdge Servers.
4. menagerie database
5. Wikipedia:Database download (Link)
If you need big data sets, you may want to take a peak at wikipedia, which offers free copies of all available content to interested users, for "mirroring, personal use, informal backups, offline use or database queries". Or you can go straight to public data dumps, which you can find on http://download.wikimedia.org/, listed by UTC time.
Link: MySQL Example Databases