Most helpful positive review
Good Introduction to MySQL - But Only an Introduction
on November 5, 2003
This book is clearly and succinctly written, and provides an excellent introduction to MySQL. It starts with a few pages on the history and philosophy behind MySQL, which is useful if you want to understand the advantages and disadvantages of MySQL relative to other options such as PostgreSQL or Oracle. It then follows with chapters on installation, with specific instructions for Solaris, Linux, and Windows; on MySQL's dialect of SQL (Structured Query Language); and on basic administration tasks such as configuration, startup and shutdown, logging, backup, and recovery. That's really all you need to get a basic database up and running, and it's all in the first 80 pages of the book.
Part II of the book covers more advanced administrative tasks, with chapters on performance tuning, security, and database design. This section of the book is weaker than the first section; while there's some useful introductory material on each of these topics, depth is lacking. For example, the discussion of putting a database into second normal form is misleading because it uses a table with only one field as the unique identifier, making it impossible to clearly illustrate the removal to a smaller table of fields that are dependent on only part of a (typically multifield) unique identifier. Also, some of the more advanced MySQL features which might be appropriate for this section are omitted.
Part III of the book, entitled "MySQL Programming", has sections accessing MySQL from Perl, Python, PHP, C, Java. These sections are mostly limited to information specific to MySQL that might not be found in general purpose documentation of these languages. For example, the PHP section documents the relevant function calls, since PHP uses different functions to access MySQL than it does to access, say, ODBC databases, while the Java section focuses on JDBC (Java Database Connectivity) driver configuration since the JDBC API is database independent.
Finally, there is a reference section and a good, complete index.
If what you want to do is get a small database up and running in a minimum of time with a minimum of hassle, this is the book for you. If you want more than an introductory level of detail and depth, though, you might look at other books; Leon Atkinson's "Core MySQL", for example, has more complete coverage, though the writing style is not as clear and direct.