Book Review: MySQL in a Nutshell, 2nd Edition, by Russell J.T. Dyer, published by O’Reilly Media, April 2008, 545 pages, ISBN:0-596-51433-6, price: US $34.99 (Reviewed by Daniel Vos)
Behind virtually every web application, there’s a database management system.
Ever used Facebook? Guess what? It runs on a (huge!) database. What about your favorite discussion forum? Are you into auto maintenance, fly fishing, or (if you’re like my wife) do you like to swap recipes, trade amusing anecdotes about your kids, or post blog articles? All database-driven.
Many of the most popular, thriving websites are database driven. Behind the scenes many Web 2.0 websites are running MySQL, Sun Microsystem‘s open source database. (There are other popular databases from Microsoft, Oracle, and IBM — but that’s another story.)
MySQL is the M in LAMP — the very popular Open Source web site platform/framework (Linux, Apache, MySQL, Perl, PHP, Python). MySQL is the database used with WordPress (the software that runs this VVN blog). MySQL is the default database server used with Ruby on Rails.
If MySQL is the world’s most popular open-source database, then MySQL in a Nutshell (2nd ed.) by Russell J. T. Dyer is the Encyclopedia Britannica of MySQL. Weighing in at 545 pages, the book is divided into five parts:
- Tutorial – A brief tutorial on installing MySQL and performing basic database management tasks (35 pages).
- Statement and Function Reference – A comprehensive reference to SQL statements, clauses, and functions implemented by MySQL. (SQL is the standard language implemented by all major database management systems, but MySQL, Oracle, MS SQLServer, and the rest all have their own quirks.) This section weighs in at nearly 300 pages, and covers database user administration, data manipulation, and database replication, and more. String function, date and time functions, mathematical functions, and flow control functions are described here, too.
- Client and Server Administration – A guide to MySQL server and client configuration and administration (90 pages). This is where you will learn the difference between mysqld (the database server) and mysql (the command-line client), and the configuration options of each. A reference to command-line utilities such as mysqladmin, mysqlcheck and mysqldump is also included.
- Programming APIs – A 100-page guide to three popular programming language APIs – C, Perl, and PHP – which websites or programs use to interface with MySQL.
- Quick Reference – A 15-page set of appendices with a quick reference to the data types, operators (arithmetic, relational, and logical), and environment variables used by MySQL.
If you are an absolute beginner to MySQL and database management systems, this book might not be the best first choice for you. A good place to start instead might be here. But if you know that MySQL is in your software development or web site development future, MySQL in a Nutshell deserves a place on your bookshelf.