Programmers have always put together software on their own time to "scratch their own itches." Until the 1990s, however, programmers lacked distribution mediums for mass marketing their creations. The Internet changed that and gave life to grass-roots software distribution philosophies that have challenged those of the software giants. These philosophies include the Free Software and Open Software movements.
Though significant differences cause endless debate between the Free Software and Open Software camps, they share a core belief in the freedom to access and modify the source code of any legally licensed software. Though neither philosophy revolves directly around price, both have had the ultimate effect of reducing the cost of some traditionally high-cost software. The most famous example of this effect is, of course, the Linux operating system.
Database software has always been notoriously overpriced. The entire fortune of Oracle is largely founded on a single product—the Oracle database engine. Consequently, only large corporations have had the financial resources to leverage the power of relational databases. While database vendors struggled with how to license their software on the Internet, however, several groups of people were busy developing free and low-cost database solutions based on Free and Open Software philosophies. Our focus is one of these databases: MySQL.
MySQL is powerful and flexible, while at the same time lightweight and efficient. It packs a large feature set into a very small, fast engine. While it does not have anywhere near the full feature set of expensive corporate databases, it easily offers enough to meet the needs of mid-range database management.
This book is primarily for two classes of readers. The most obvious is the reader interested in using MySQL from either a database administration perspective or from a database programmer perspective. In addition, anyone who wants to learn about relational database administration and programming without paying out the nose for a license from one of the big guys will find MySQL an excellent starting point.
From a database administrator's perspective, we cover the basic methods of creating and managing databases and tables in MySQL. We go beyond the simple tasks and provide performance tuning and troubleshooting tips to help you make sure your MySQL applications are running at their best. We assume no prior knowledge of SQL or relational databases.
Database programmers will find that we have covered all the major programming interfaces from the most popular client/server and web programming languages. When we cover the interface for a particular language, we assume the reader has a basic grasp of the language in question. For example, in the Java™ chapter, we assume the reader knows how to write basic Java applications, and we show how to make those Java applications talk to MySQL databases.
The immense popularity of MySQL on the Web has made it natural to provide a focus on CGI programming with Managing and Using MySQL. Web developers should therefore find this book useful in describing how to drive their web sites with a MySQL database. For these chapters, very little CGI knowledge is needed, but we still assume that the reader is familiar with the basics of the programming language in question.
Copyright © 2003 O'Reilly & Associates. All rights reserved.