The Definitive Guide to MySQL 5 (Definitive Guides) and over 2 million other books are available for Amazon Kindle . Learn more
FREE Delivery in the UK.
In stock.
Dispatched from and sold by Amazon.
Gift-wrap available.
The Definitive Guide to M... has been added to your Basket
+ £2.80 UK delivery
Used: Good | Details
Condition: Used: Good
Comment: Shows some signs of wear, and may have some markings on the inside. 100% Money Back Guarantee. Shipped to over one million happy customers. Your purchase benefits world literacy!
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

The Definitive Guide to MySQL 5 (The Expert's Choice) Paperback – 1 Aug 2005

1 customer review

See all 4 formats and editions Hide other formats and editions
Amazon Price New from Used from
Kindle Edition
"Please retry"
"Please retry"
£21.99 £4.75
£39.49 FREE Delivery in the UK. In stock. Dispatched from and sold by Amazon. Gift-wrap available.

Product details

  • Paperback: 786 pages
  • Publisher: Springer Verlag GmbH; 3 edition (1 Aug. 2005)
  • Language: English
  • ISBN-10: 1590595351
  • ISBN-13: 978-1590595350
  • Product Dimensions: 17.8 x 4.5 x 23.5 cm
  • Average Customer Review: 5.0 out of 5 stars  See all reviews (1 customer review)
  • Amazon Bestsellers Rank: 1,047,142 in Books (See Top 100 in Books)
  • See Complete Table of Contents

Product Description

About the Author

Michael Kofler holds a Ph.D. in computer science from Graz Technical University in Austria. He has written a number of successful computer books on topics such as Visual Basic, Visual Basic .NET, and Linux. Michael is the author of The Definitive Guide to MySQL 5, Third Edition and Definitive Guide to Excel VBA, Second Edition from Apress.

Inside This Book

(Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:

Customer Reviews

5.0 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See the customer review
Share your thoughts with other customers

Most Helpful Customer Reviews

2 of 4 people found the following review helpful By M. Tsoukalos on 15 Jun. 2006
Format: Paperback
I was trying to install MySQL to my Mac machine and I had some problems. This book helped to solve them.

It also helped me solve all the other issues that I had after installation: create a database, create a new user, change a password, etc.

I also used it as a reference for writing a Perl script to interact with a MySQL database.

I would recommend it to anyone that wants to start using MySQL.

If you do not want an advanced MySQL book, you can buy this one.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Helpful Customer Reviews on (beta) 21 reviews
39 of 40 people found the following review helpful
Not what I expected or needed, unfortunately 11 April 2006
By Richard Bejtlich - Published on
Format: Paperback
I read and reviewed MySQL Press' MySQL Tutorial by Luke Welling and Laura Thomson two years ago. I thought Tutorial was a great, concise (267 pages including index) MySQL overview. I hoped The Definitive Guide to MySQL 5, 3rd Ed (DG, 748 pages) would extend my understanding of MySQL beyond the coverage in the Tutorial. Unfortunately, I found the Tutorial did a better job addressing important information than the DG. While there is some good information in the DG, I recommend staying with books published by MySQL Press.

The biggest problem with the DG stems from this statement on p xxvii: "No previous knowledge of SQL or database design is assumed." The first seven chapters, however, frequently direct confused newbies to chapters 8-10, where database design and SQL syntax is introduced. An author who recognizes that he is losing readers should take a hard look at the organization of his book.

DG is also far from a "definitive guide." I wanted to learn more about JOIN statements, but only 3 confusing pages (pp 197-9) cover JOINS -- compared to 7 in the much shorter Tutorial. Worse, here is how the author "introduces" the LEFT JOIN and ON statements: "One variant consists in creating a table list with LEFT JOIN and then forming the linking connection with ON." How is anyone (especially newbies) supposed to consider that informative?

I was also interested in learning about MERGE tables, since I use them in an open source project. DG has nothing to say on the subject, although the Tutorial gives at least 2 pages. The DG also makes the unfortunate decision to omit the semicolon from the end of all MySQL commands. Sure, they may not be in the SQL standard, but every single other MySQL book I've seen uses them. That is especially important for new MySQL users.

The DG also spent far too much time on areas I felt were best addressed elsewhere. I really don't care to learn how to install Apache, PHP, and Perl on various platforms. I also didn't need to read so much about integration with PHP. Other books with MySQL and PHP in the title are the right place to discuss that subject. I admit I skipped reading Part IV, on programming interfaces, along with ch 12 (GIS) and the SQL and API references (ch 21, 23).

On the positive side, I had not read anything on stored procedures or triggers before (ch 13). I also picked up some tricks on security and logging from chs 11 and 14. I learned of some new administration tools in ch 5. I still wish the author had spent more time addressing SQL syntax and explaining what it meant, and less on peripheral issues. Performance and tuning are two subjects outside of core SQL syntax that should be in the book but are not discussed thoroughly. I should note that I thought the translator for DG did a great job. I didn't notice any real rough spots that may have been the result of poor translation.

If the fourth edition of the DG receives a major overhaul, you might consider buying it. I am astounded by the number of positive reviews for this and previous editions, since I believe the DG does not address enough of the subjects that really matter to MySQL administrators.

Apress does publish many outstanding books, such as Running IPv6 or several titles on Python. I recommend checking out those works.
31 of 35 people found the following review helpful
Please save your money - I wish I had 7 April 2006
By Boyd E. Hemphill - Published on
Format: Paperback
First a bit about me: I MySQL 4 certified both core and professional. I have 2.5 years production experience with MySQL and 6 years with databases in general.

I bought this book based on the table of contents thinking I would get a good read on the differences between versions 4 and 5. Then I would begin my journey towards certification.

While this book may be good at telling me about 5, I have found so many factual errors in the first 200 pages that I am going to set it aside for fear that I will be mislead on topics that are new to me.

Here are some examples:

- The author says it is possible to drop a table where foreign key constraints are in place. This is false. The server will return an error and InnoDB status will provide detail.

- The author states that the location of orphan records in a child table can be done by a simple subselect. While this is true, in any table larger than a few thousand rows the query will take forever. This should be done with an outer join.

- The author states (pg 153) that MySQL is case-sensitive in regard to database and table names. This is true in operating systems that are case sensitive (Linux, OS X, Unix) but not Windows. While it may not seem like a big deal, a DB using InnoDB tables will not port from Linux to Windows if varied case is used in these names.

-On page 8 the author states that use of MyISAM tables precludes hot backups. MySQL has shipped with mysqlhotcopy since version 3.23 (Note InnoDB does require the purchase of InnoDB Hotbackup)

-On the same page the author states that MySQL is unsuitable for OLAP applications. Again this is false. MyISAM tables provide a number of very powerful features that support data warehousing. MySQL has even partnered with Business Objects on just this type of system.

Given these and many other details, it appears to me that this book was written by someone who uses MySQL is one specific way, thus it defines their experience with the system.

I strongly recommend against this book.
12 of 14 people found the following review helpful
Definitely a definitive guide 30 Oct. 2005
By John A. Suda - Published on
Format: Paperback
"The Definitive Guide to MySQL5 3rd Edition" certainly deserves its title. It is a large, dense, complete guide to MySQL and updates its predecessor edition by covering new MySQL5 and new auxiliary software including database administration tools and interfaces. MySQL is the open-source database software which has become very popular for web-based database applications now being used by Yahoo, NASA, Slashdot, and other entities.

The author of this book, Michael Kofler, has a Ph.D. degree in computer science and is an accomplished writer of technical books. The audience is intermediate to high-level database designers and programmers. Although the presentation assumes little prior knowledge of MySQL and databases, it does assume a good amount of contact with and knowledge of programming languages. The topic of this book does not lend itself to an easy, flowing writing style. Reading through this complex material is like chewing on heavy New England pound cake. That is not a criticism of the author as he thoroughly presents the topics in a comprehensive, workmanlike, textbook-like manner. The discussions of databases and MySQL features are lightened by numerous table, charts, graphics, and examples of relevant matters.

The updating from the 2nd Edition of "The Definitive Guide" involves the upgrade of MySQL from version 4.1 to 5.0 which now provides support for Unicode, the sub-SELECT and GIS functions, improved authorization features, addition of stored procedures, and other new commands and server options. It also includes discussion of new or updated auxiliary software used with MySQL, like PHPAdmin and new interfaces for Open Office, Star Office, and Apo.NET.

There are six parts with twenty-three chapters and 3 appendices, amounting to 748 pages with index. The parts entail an introduction to MySQL and databases, administrative tools and user interfaces, fundamentals of database design, programming using MySQL, and detailed content references. The appendices include short segments of a glossary, bibliography, and notes about the sample code files available for downloading from the publisher's website at [...]

The beginning chapters introduce the basic concepts of MySQL including its client-server architecture, tables, fields, queries, keys, and the distinction between relational and object-oriented databases. The author focuses the bulk of the book on relational databases. The many features of MySQL are itemized and other matters like licensing and setting up test environments are discussed. A large segment of this early material offers instruction on installing under Windows and Unix/Linux platforms and configuring the installations for function, usability, and security. An introductory example of building an opinion poll application with PHP is provided.

Chapters 4 - 6 cover a number of administrative tools to use with MySQL, including mysqladmin, mysqldump, and PHPAdmin. The author spells out how to install and configure, set up user management and security, create and edit databases, import and export data, and use auxiliary functions, among other things.

The best chapter, in my view, is Chapter 8 on database design. The technical aspects of databases are well-covered, like the various table types and data types, but the more theoretical aspects are noted in some length. There is some art in creating databases and tables which is above the technological. Correct design with related tables is crucial to efficiency, ease of use, accuracy, ability to revise, and consistency. A segment on "tips and tricks" in database design is especially interesting.

The bulk of Part 3 contains a comprehensive presentation of SQL features, syntax, configuration, and security issues, The new functions of version 5 are explored, like GIS and stored procedures and triggers. A section on transactions for advanced users and setups is nicely done. For novice users, mention is made of the "...I-am-a-dummy" option which warns and provides a second chance to avoid inadvertent updating or deleting of a table. Chapter 14 is all about maintenance issues - backing up, importing, logging, and replication.

Part 4 deals with how to combine MySQL with programming languages like PHP, perl, Java, C, Visual Basic, and Visual Basic.NET. Each is treated similarly - detailing features, concepts, syntax, and programming techniques. Most of the attention is given to PHP, which is described as a natural companion to MySQL for use in developing dynamic web applications.

Chapter 21 is a comprehensive SQL reference of operations, functions, data types, variables and constants, and commands. There are a large number of charts and tables to bring order to the dense material. Chapter 23 contains material on the various API's which can interact with MySQL. These include PHP.API, perl.API, JDBC, ADO-net, and C.API.

For those with a need to know, and those with a desire to learn MySQL, this volume contains nearly everything you would want and expect, not only about MySQL itself but about the software that interacts with it or web servers. The author deserves credit for presenting the dense material in a thorough and orderly manner.
7 of 8 people found the following review helpful
Not definitive, not accurate, not proof read 22 July 2007
By Oliver Smith - Published on
Format: Paperback Verified Purchase
The book opens with an introductory database example (Chap 3), an opinion poll. The author spends nearly a page in his attempt to justify why MySQL is more suited to his example than a text file. This justification is not only uneccessary but outright wrong. The sample SQL also contains a glaring error that is likely to confuse the newer MySQL user

"In order to generate a table with the two columns /id/ and /choice/, the following command would suffice: CREATE TABLE votelanguage (id INT, choice TINYINT, ts TIMESTAMP);". If you are new to MySQL, you may be wondering about "ts TIMESTAMP".

At every page I have turned to and begun to read, I have found at least one similarly minor/distracting error: "changes in boldface" followed by lines of code with no boldface, "the following will insert a data record with a value of 4: INSERT into t VALUES (3)", etc, etc, etc...

There are numerous sections of text that are terribly written, almost as though they have been badly translated from another language. Chapter 4, for instance, opens with "The end user should never see MySQL as a program. Instead, a convenient program or several web sites should be used to provide access to the database, assist in the input of new data and execute backups
"For such tasks, you can use the commands mysql, mysqladmin and mysqldump ...". Presumably he mean't that these commands are not the interface through which the typical user will see MySQL.

I said the book is not definitive - I say this because its focus is incredibly broad. It covers a wide spectrum of MySQL-related topics, primarily dealing with specifics of language interfaces (by sheer volume of pages). It covers nothing in true depth (with several item specific chapters containing the "Tip" that "In this chapter you will learn about /this/ only superficially. However, ... will be described elsewhere in the book ..."

Every time I open this book, I find errors or cryptic paragraphs that I have to deconstruct in order to understand the author's point. Often times, even when the author is quite clear, I find his points to be in error. For example, returning to the initial opinion poll: the author implies that if your result set were merely the vote option and number of votes for that option, it would be simplest to just store that in a single file. But if you wanted to store individual votes or comments or IP addresses, you would need MySQL!

Infact, due to concurrency issues, MySQL would be far better suited to the simple tally counter.
6 of 7 people found the following review helpful
Great Resource for MySQL 8 Oct. 2006
By Michael Stahnke - Published on
Format: Paperback
This book is great for anyone getting started with MySQL. The book does an excellent job of helping the reader learn MySQL on both Windows and Linux systems, with most examples being run in tandem across both platforms. The books review of MySQL administration tools and clients is very in depth, and probably the best single-source coverage I have seen on the topic.

The chapter on integrating MySQL with OpenOffice and MS Office is unique to this book, as far as I know and I think several readers will get their money's worth simply from that. Using MySQL as a productivity tool instead of a programming tool changes the approach for several MySQL users.

The fundamentals section of the book, which includes DB design, security and some of the newer features of MySQL (stored procedures and triggers) is a very nice overview, even for seasoned MySQL users. The administration chapter is probably my favorite, as I am a System Admin. This chapter provides examples and instructions about backups, migrations, performance tuning and replication.

The final section on programming was a nice introduction to programming with/against MySQL, but was brief for nearly all topics, but understandably so. There are dozens of books on PHP and MySQL alone, so a few chapters on PHP, Perl, Java and VB are good introductions, but other material should be sought after for an in-depth project.

All in all the book is very thorough, and makes an excellent addition to Apress's Open Source line of books.
Were these reviews helpful? Let us know