The Definitive Guide to MySQL, 2nd Ed.
The book has four sections: Introduction, Fundamentals, Programming and Reference. The Introduction begins with a brief introduction to databases, relational databases, ANSI 92, and how MySQL fits in to each of these. It also touches on the licensing for MySQL (commercial vs. non-commercial usage) and a version roadmap for past and future releases of MySQL. The roadmap is very helpful to know what features are present in the version of MySQL you may be using (or are planned for an upcoming release).
Next, Kofler sets up a rudimentary testing environment which is used through the rest of the book. He does an excellent job of outlining a decent development environment under both Unix and Linux without getting too bogged down in trying to describe every single user interface for accessing MySQL (those are described later in the book). It steps through setting up MySQL, Apache, Perl (with DBD and DBI), and PHP, and also adds phpMyAdmin as a graphical tool to administer the databases. The unit ends with a simple PHP script to handle an opinion poll. This all happens in the first 80 pages of the book.
FundamentalsThe next section expands on the basics learned in the first chapter. First is a chapter on the user interfaces available for using MySQL, starting with the MySQL command-line client, followed by an introduction to several graphical clients (including phpMyAdmin and MySQLCC). Database design is covered in the next chapter, starting with a brief overview of the theory in designing a relational database. First, second and third normal forms are introduced with examples, as are relations (1:1, 1-n, and n-n), data types, and indexes. Once the reader is armed with the theory, the book continues with how to create the tables in SQL, and covers using SQL to examine and manipulate data in "Introduction to SQL." "SQL Recipes" contains lots of useful scripts for handling interesting cases of SQL (like selecting data at random, pivot tables, creating a new table by copying, etc). A special section is devoted to the new InnoDB format, which brings transactions and integrity rules (foreign key constraints) to MySQL. "Security and Administration" complete the Fundamentals unit with topics on user-level security, backing up the data, and replication between two MySQL instances.
ProgrammingUnlike most books, the programming languages introduced in The Definitive Guide to MySQL aren't introduced with examples as though you have never programmed a computer before. (So beware, if you haven't; this is probably not the right book for you.) The examples start with useful code that assumes familiarity with the language. The examples are excellent, demonstrating how to efficiently get your code connecting to the database. The author covers PHP, Perl, Java, C and C++, and Visual Basic, C# and ODBC. PHP is the real star of the book, though, garnering a second chapter to expand on the earlier examples presented in the book, but the other languages (and ODBC) are given excellent treatment. Fans of these languages will be able to get their programs running with MySQL using the examples from the book.
ReferenceThe last 100 pages (not including the appendix, glossary and index) contain several references for MySQL. "The SQL Reference" covers the SQL commands that MySQL understands (along with what versions they are valid for), as well as system and session variables and data types. Coverage of the utilities that MySQL uses is in the "MySQL Tools" section. Lastly, the API reference rounds off the book with the functions and variables for each language in an easy-to-use reference. Whew!
Programmers will find excellent examples for linking their programs with MySQL, and developers will find the reference and examples extremely useful for taking their data from creation to deployment. I found this book easy to read and exceptionally useful. The author did the hard work of taking the documentation and sifting through it to bring the useful parts together clearly and concisely. Definitive indeed.
You can purchase The Definitive Guide to MySQL from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
the binding on my copy broke after a month. Anybody else have this trouble ?
... how does a "definitive" book get to have a 2nd edition? Wasn't the 1st edition definitive? :P
This is the Definitive Complete Ultimate comment on this story. Moderators: you can now mark all other comments Redundant.
-russ
Don't piss off The Angry Economist
"PHP, Perl, Java, C and C++, and Visual Basic, C# and ODBC" Does the author show each and every example in all these languages? If he did, no wonder the book's 800+ pages long!
The friendliest digital photography forums on the net!
My guess is that MySQL will decline now that PHP uses SQLite, and that PostgreSQL has so much more speed, stamina, strength and beauty.
.NET remoting and I'll be really happy.
Still, it's good that comprehensive book is released, some will sure find it useful.
Now, someone point me to a nice book on SQLite integration with
There are several free SQL books available (one on MySQL, one on SQL in general, and a couple on PostgreSQL; use your browser to search within the text of the page for SQL). User-submitted reviews would be welcome on theassayer.org.
Find free books.
For those of us who don't enjoy being chained to a computer. To take a book, sit on a comfortable piece of furniature... or... I know this may be a shock... go outside to read!
Because large volumes of text are terrible to read on a screen. This is a textbook, not a reference.
I do. Maybe I'm different, but I certainly prefer ink and paper documentation and books to the e-version. I generally try to read through a book before I begin the "searching", so maybe that's why. When I go to a project, I don't always have an electronic form avalaible. With PDF, Microsoft eReader, Palm Reader and many other formats, it's just easier and more worthwhile to buy a text version. I can't imagine trying to read through the Camel Book or the Sendmail book with an e-version; my eyes would just start burning from looking at a screen that long.
Oh yeah, and I like to support publishers like O'Reilly, who consistently deliver top-notch books that are almost always worth my money.
"You and your third dimension."
Now where's the Intelligence and Wisdom in that?
Breakfast served all day!
Hm. I typically have three or four binders open on my desk with various printed documentation in them. Screen real estate is too valuable to dedicate to documentation--having to continually flip between development and reference really slows me down.
While it may be wasteful of paper, I'm sticking with the binders until there is a display that (a) is as big as my desk (b) has 600 dpi effective resolution for easy reading (c) I can convince my employer to buy.
Anyway, paper books have a perfectly servicable search function, accessed by opening to the back pages of the book and locating the desired search terms, then reading the referenced page number.
I have a positive modifier on Troll. When I mod someone Troll their karma should go UP!
Does anyone today look at the available technologies, and actually choose MySQL over PostgreSQL? I mean, assuming they aren't already using any database, and they don't have any requirements that would force them to MySQL (like a PHB saying, "But I've HEARD of MySQL! What's this Postgres crap?")... why would anyone choose MySQL?
This has come up more than once in previous discussions. Reasons include: web hosts not supporting PostgreSQL, technology unfamiliarity with ORDBMS's relative scarcity of graphical PostgreSQL clients, and (the illusion of) a bigger grassroots support base for MySQL, to name a few.
Anyway, why wasn't parent modded Off Topic?
Who still buys non-electronic books in the year 2004?
I like books for when the wife says, "Get off that computer and come watch TV with me." See, she's the boss. I hate TV. At least i can read a book, and i only read technical books. She just wants proximity, so i can read while she watches TV.
There are 10 types of people in the world... those that understand binary and those that don't.
"What good is a textbook without a goddamn search function?" It's called the Index.
What good is a textbook without a goddamn search function?
You have heard of an "index" correct?
They should be required to post the ISBN number with the review. In case you're wondering, it's 1590591445.
Unfortunately, some books have horrible indeces.
Because I don't have a lot of room for books, and because I would need them both at and away from home, I like to use O'Reilly's Safari service. $10/mo to rent up to 5 books at a time and read them with any web browser. (That's the low-end package.)
tasks(723) drafts(105) languages(484) examples(29106)
I'm lovin' it!
dominionrd.blogspot.com - Restaurants on
I dunno, which one used speed, stamina, strength, beauty, intelligence and wisdom?
Strength, intelligence, wisdom, dexterity, constitution and charisma yea. Speed might be a subtable of strength, dexterity and constitution. Beauty is but one aspect of charisma. Stamina might derive from constitution.
[John]
"Chaotic Dungeon Master and the Laws are Random"
Shit better not happen!
It's the director's cut with added chapters and interviews with the editorial staff on how they brought it all together, all on 3 bonus CDs.
"Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
I do.
1. No power requirements. I can sit out back or take a ride into the mountains and read.
2. No computer distractions. When I'm on the computer, I'm doing computer stuff. Not reading.
3. Ergonomically better. I can "curl up and read a good book". Tough to do with a computer (note I said "Tough", not impossible).
4. Search = Table of Contents or Index and I might find something else helpful while looking.
5. I can bring it with me to work and not have to worry about losing a multi-hundred or even thousand dollar e-book because of some light fingered stooge.
6. I can carry it on my motorcycle and if it gets wet it'll dry out with minimal ill effects.
7. I can leave it in the car and not worry about the screen freezing or the system getting overheated and frying.
8. I like the feel of a good book.
9. O'Reilly rocks.
Yea, I've got a few books at home. http://www.schelin.org/stuff/computer/index.html
[John]
Shit better not happen!
Strength? Dexterity? Bah. I want to know which database has the most Spirit. And what about those all-important Possibility Points?
Ok, you caught me, I'm trying to out-do the grandparent in obscurity of reference.
-- If no truths are spoken then no lies can hide --
Interesting. Is there any theory on why mysql is popular to web hosts?
Simple. Plain old web server admins rarely know anything about databases. Anybody who knows how "real" databases work is gainfully employed at a lucrative job, not rebooting Linux boxes that host "About Me" web pages. Out of the whole dot-bomb debacle, the only people I know that are still employed (and still paid very well) are Oracle DBA's. They couldn't give two shits about dinky web servers when they're massaging terabytes of data on massive Sun boxes. I was a Oracle developer in a past life, and quite honestly, I couldn't bring myself to care about web stuff when I could be spending my time writing some kickass, recursive SQL that did fun things like migrate a US state's Medicare records (5 terabytes worth) from flat files from the green screens into Oracle. The web stuff was always given to "the new kid" to handle. And suffice to say, "the new kid" wouldn't know a database from a banana (and thought that MySQL was a database).
I don't respond to AC's.
Is it just me or is everyone over the re-hashed books on anything technology specific....
I started off using mySQL years ago but in the past 12 months migrated everything to PostgreSQL. I picked up a book on PGSQL just to see what im missing out on and could not justify the cost. (books in Australia are very expensive: $USD70 for the average book in oz).
I think books are great to get your started to know something like SQL but hardly worth buying every revision...or technology...
Especially when most of these bibles are 200 pages of APIs.
MySQL is an excellent database server, as is Postgre. Maybe the fanboys should find something better to do with their time than hanging around Slashdot complaining about the database some other people use?
Any technology that takes 800 pages to explain perhaps needs to be reworked. RDBMS seem to keep adding obscure features to lock customers in to their product. MySql seems to be following this trend either to do the same thing or out of RDBMS copycat habit.
Rather than pull an Oracle, I would like to see a RDBMS that tries to use simple concepts, including perhaps a new simple relational language besides SQL[1]. It would get its power from custom add-ons and hooks, not by trying to be everything to everybody out of the box.
[1] However, we are probably stuck with SQL as the "standard" for a while.
Table-ized A.I.
I have a doppelganger, and it is you. I was just about to type the same thing!
Well said.
I've been using MySQL for 5 years. It just works, it has handled load very well with default configurations, it is easy to install, and client support is very strong. For example, I admin all of my MySQL servers from a Windows desktop at work. All free, all without problems, very stable.
We looked at PostgreSQL...for our purposes it would have been like using a sledgehammer on a tack. Does that mean we don't have any "real databases"? Maybe so, but our revenue is growing like crazy and our systems have more than enough capacity and stability to handle it. Any software that helps us make money like that without any problems is real in my book.
Here's the full text:
MySQL roXorZ!!!
They've been bought over the past 7 or so years when I first begin as a Unix admin. The team lead pointed me to Essential System Administration. I had a small handful prior to that introduction, mostly programming books.
Shit better not happen!
Whenever I start a new CS topic, the first thing I do is go get the relevant O'Reilly books. They're just so easy to read and find whatever information you need. And while they may not be 'Definitive' or 'Ultimate', I think that, ultimately, they're the best way to begin.
Yes, exactly. I must admit I am somewhat of a fanboy. I don't "pop up" like the grandparent post described, but I do come to these MySQL stories specifically looking for PostgreSQL comments. And sometimes I post, like now. But I don't go looking to troll or anything, just trying to advocate a great piece of software that I think gets far too little attention.
It's not unique to PostgreSQL. Any time people discover a great alternative to a well-known mainstream product, those people will use any forum to promote it. You might have heard of a thing called Linux. Do you really think you would have heard of Linux if you only paid attention to vendor ads and press releases?
Please define "clean".
If you mean source code readability, people have said that MySQL's C++ source code is very obfuscated and hard to read, while the Postgres' C source code are pretty well organized.
If you mean SQL, they're basically the same, but MySQL has some shortcuts like INSERT IGNORE, REPLACE INTO, not requiring "AS" in column/table aliases, etc. But I don't see why this would be regarded as being "cleaner". Not standard-compliance, that's what it is.
If you mean the app code, why are apps using MySQL cleaner than the ones using PostgreSQL? The API are basically similar (connect, query, etc). Plus if you use a DB abstraction layer (like DBI in Perl), the distinction is even smaller.
So what do you mean by "cleaner" anyway??? "Not using transactions" is cleaner? (Shudder).
I'm going to buy one or more books on MySQL and related subjects (the LAMP-stack). I usually go with the newest O'Reilly book on the subject (any subject), but the reviewed book seems interesting. 10/10 from a Slashdot review and no serious arguments from the masses, that is pretty good recommentation.
My questions are:
If you have read/used this book, is it really that good?
If you have not read/used this book, what book have you read/used and found satisfactory as a desktop reference book.
--Flam
Computers are useless. They can only give you answers - Pablo Picasso
Comment removed based on user account deletion
Instead of whining about how "mysql sux0rz, postgresql r0x0rz", you should be asking yourself why mysql is dominant over postgresql.
If postgresql is so superior, why hasnt it been able to get any significant market share?
Why does mysql dominate webhosting?
Why are huge sites with hundreds or thousands of transactions/sec successfully using mysql without any problems? postgresql fanatics claim such sites simply cant exist because mysql can't handle "those kinds of loads".
Solve those questions and maybe postgresql will become more widely used.
This all reminds me of the "(free|net|open)bsd r0x0rz, linux sux0rz" fanatics, and nothing makes people tune you out faster than ranting on like a religious fundamentalist.
Instead of whining, address the issues.