MySQL and mSQL are popular and robust database products that support key subsets of SQL on both Linux and Unix systems. Both products are free for nonprofit use and cost a small amount for commercial use.
Even a small organization or web site has uses for a database. Perhaps you keep track of all your customers and find that your information is outgrowing the crude, flat-file format you started with. Or you want to ask your web site's visitors for their interests and preferences and put up a fresh web page that tallies the results.
Unlike commercial databases, MySQL and mSQL are affordable and easy to use. If you know basic C, Java, Perl, or Python, you can quickly write a program to interact with your database. In addition, you can embed queries and updates right in an HTML file so that a web page becomes its own interface to the database.
This book is all you need to make use of MySQL or mSQL. It takes you through the whole process from installation and configuration to programming interfaces and basic administration. Includes reference chapters and ample tutorial material.
Introductions to simple database design and SQL
Building, installation, and configuration
Basic programming APIs for C, C++, Java (JDBC), Perl, and Python
CGI programming with databases in C and Perl
Web interfaces: PHP, W3-mSQL, Lite, and mSQLPerl
Getting Started with MySQL and mSQL
Chapter 1 Introduction to Relational Databases
What Is a Database?
What Is a Relational Database?
Applications and Databases
MySQL and mSQL
Chapter 2 Database Design
A Logical Data Modeling Methodology
Physical Database Design
Chapter 3 Installation
Chapter 4 MySQL
Chapter 5 mSQL
Chapter 6 SQL According to MySQL and mSQL
Creating and Dropping Tables
Sequences and Auto-Incrementing
Chapter 7 Other Mid-Range Database Engines
What Is “Free”?
What MySQL and mSQL Lack
Chapter 8 Database Application Architectures
The Client/Server Architecture
The Three-tier Architecture
Chapter 9 CGI Programming
What Is CGI?
The CGI Specification
Important Considerations for CGI Scripts
CGI and Databases
Chapter 10 Perl
An Example DBI Application
Chapter 11 Python
Chapter 12 PHP and Other Support for Database-driven HTML
Tim King has been working with computers since the early 1980s, when he programmed games on his Commodore 64 computer and founded a computer club in his high school. He earned a bachelor's degree in computer science from the University of Minnesota Institute of Technology in 1991. While there, he taught Unix and vi classes and was the leader of a rag-tag group of vi devotees called the "VI Zombies." Presently, Tim is a software consultant in San Francisco, CA, specializing in database and web technologies. His favorite activity is snowboarding, but he also enjoys photography and reading. You can reach him at firstname.lastname@example.org
George Reese has taken an unusual path into business software development. After earning a B.A. in philosophy from Bates College in Lewiston, Maine, George went off to Hollywood where he worked on television shows such as "The People's Court" and ESPN's "Up Close". The L.A. riots convinced him to return to Maine where he finally became involved with software development and the Internet. George has since specialized in the development of Internet-oriented Java enterprise systems and the strategic role of technology in business processes. He is the author of Database Programming with JDBC and Java, 2nd Edition and the world's first JDBC driver, the mSQL-JDBC driver for mSQL. He currently lives in Minneapolis, Minnesota with his wife Monique and three cats, Misty, Gypsy, and Tia. He makes a living as the National Practice Director of Technology Strategy for digital@jwt in Minneapolis.
Our look is the result of reader comments, our own experimentation, and feedback from distribution channels. Distinctive covers complement our distinctive approach to technical topics, breathing personality and life into potentially dry subjects. The animals featured on the cover of MySQL and mSQL are kingfishers. This type of bird can be found all over the world, including North America, Europe, Africa, and New Zealand, with the greatest numbers being found in southeast Asia. There are over 80 species of kingfishers, which range in size from five to eighteen inches and which cover a broad spectrum of color. These typically long-billed birds pair for life and are considered to be very territorial. Their nests are long and tunnel-shaped, and are often found in exposed tree roots or water banks.
Most kingfishers live along the banks of rivers or lakes, as the primary staple of their diet is fish. To catch its prey, a kingfisher will perch on a branch above water, watch for a fish, hover for a moment, and then dive headfirst into the water, grabbing the fish in its beak, and heading back up to the surface. The process takes about a third of a second. The kingfisher's diet also consists of spiders, insects, and small amphibians. Jeffrey Liggett was the production editor for MySQL and mSQL. Robert Romano and Rhon Porter created the illustrations using Adobe Photoshop 5.0 and Macromedia Freehand 8.0. Mike Sierra provided FrameMaker technical support. Claire Cloutier LeBlanc provided quality control. Editorial and production services were provided by Rashelle Perez and David Leiser at Electro-Publishing. Becky Peveler was the copyeditor. The index was written by Electro-Publishing, with assistance from Seth Maislin.
Edie Freedman designed the cover of this book, using a 19th-century engraving from the Dover Pictorial Archive. The cover layout was produced by Kathleen Wilson with QuarkXPress 3.32 using the ITC Garamond font. Whenever possible, our books use RepKover, a durable and flexible lay-flat binding. If the page count exceeds RepKover's limit, perfect binding is used. The inside layout was designed by Alicia Cech based on a series design by Nancy Priest. The layout was implemented in FrameMaker 5.5.6 by Mike Sierra. The text and heading fonts are ITC Garamond Light and Garamond Book. This colophon was written by Nicole Arigo.
Reasonable for a grounding, but not up to usual ORA standards.
Knowing nothing about database design or coding, I spotted errors in the SQL examples (things like the text saying the database under discussion will have a particular field, but no mention of that field in the example code fragment). This makes me distrust the rest somewhat - and it's a pain to try and read the book in parallel with a printout of the errata. (Incidently - why so few confirmed errata? Some of them are patently obviously true, such as the discrepancies between text, tables and code fragments, but they're still languishing in 'unconfirmed'.)
In places it reads like each author wrote a different chapter, and they can't agree with each other. For example, in one chapter we're told that installing from source is best (if you have teh required compiler etc.) because it is more customisable, but in the subsequent MySQL chapter we're told that the vast majority of users should obtain a binary distribution.
On balance, it was worth me buying this book - but only because I got it half price in a stock clearance sale. In its current state it's just too sloppy. If the unconfirmed errata were addressed and the discrepancies between chapters cleared up it would probably be just about worth full price, but it's still not the gem that most ORA books are.
I've been using this book for my forays into mysql and have found it met me needs. I wish it spent more time discussing SQL syntax in the the mysql environment, and can do without all the dross about the other languages; but I've gotten questions answered here, and that's what I ask.
I didn't want to pile on with the "let's beat up this book" group, but I have to.
Books like this don't need anything at all about installation. You probably already have the product installed before you bought the book. At the very least, the README's that come with a download, are much more relevant than what's in a book on the subject.
I was expecting more in the tutorial area, but was disappointed. Maybe I misread the back cover's "ample tutorial material" statement. If you are expecting a step-by-step how-to, then look elsewhere.
The first part on database theory moderately helpful, a bit too long. It was a hundred pages or so before I started noticing anything specifically about MySQL.
This book needs some further editing. I found the Perl chapter to be riddled with typos that, when copied, would not compile.
Drop the msql part too. Who needs it? It's like carrying on about DOS in a book about Windows 2000.
It was a mistake for me to buy this book. As expensive as computer reference books are, I don't want to make to many more mistakes like this one.
This book should have been divided in two. Juxtaposition of MySQL and mSQL leads only to less understanding of both. If you plan to cover two applications in one book, then divide the coverage in half. Pages 1 - 200 cover MySQL, pages 201 to 400 cover mSQL.