These pages require JavaScript.

Get It Done With MySQL 5&Up

by Peter Brawley and Arthur Fuller

Ebooks weigh nothing, they cost less than printed books, they simplify your life, they can be updated, and they kill no trees. Give your excellent brain a treat with ...

... readable accounts of how to be productive with all MySQL releases since 2005, from 5.0.0 right up to the latest version 8.0 general release with its Common Table Expressions, windowing functions, SQL roles, Check Constraint and many other enhancements,

... up-to-date accounts of new MySQL features,

... clear descriptions of MySQL installation, configuration, data types, storage engines, syntax, privilege management, query building, stored routines, administrative utilities, and security,

... step-by-step chapters to get you started using MySQL with ODBC, Perl, PHP, Java, Visual Studio including the new free Community Edition, and C/C++,

... a concise account of how to use the high-performance INNODB engine, so you can configure it and fire it up without having to wade through its very long documentation,

... enjoyable chapters on database theory, how to design a database, and the database application life cycle,

... in-depth treatments of trees and other hierarchies, point-in-time architecture, and MySQL with Visual Studio

... lookup cheat sheets for MySQL configuration variables and information_schema,

... a history of MySQL from its inception through its successive purchases by Sun and Oracle,

... coverage up to the latest General Availability release of MySQL, now 8.0.30.

Treat yourself to an updating ebook edition for your laptop or tablet.

Why MySQL?

How many relational database management systems are robust and full-featured enough to bet your enterprise on? A half-dozen? How many of them can you download for full and free use on Windows, *Nix, a Mac, Solaris, or IBM AIX or i5? One: MySQL Community Edition.

Before MySQL 4.1, some scoffed at the product. No subqueries, no stored procedures, no views, no triggers. Forget that.

Version 4.1 brought in subqueries. 5.0 brought stored procedures and functions, views, triggers, XA transactions, a cluster engine, and information schema. MySQL 5.1 added an Event Scheduler. 5.5 added error message handling, proxy logins, XML processing and semisynchronous replication. 5.6 added crash-safe binary logs; partition options in SQL commands, delayed replication, and (finally!) better LIMIT optimisation. 5.0 has been retired. There are stable 5.1, 5.5 and 5.6 production releases. Most web hosting providers support 5.5 or 5.6. If Oracle's ambivalence toward open source worries you, Monty Widenius's MariaDB has drop-in-compatible versions of MySQL 5.5 and 5.6.

Of all available open-source databases available for free, MySQL has the richest set of database management tools. Routine MySQL queries typically return results in less than 0.05 seconds. Well-designed databases up to 1.5 terabytes perform well without custom tweaks like sharding. The relational InnoDB storage engine is robust. So is the server overall: Google engineer Jeremy Cole found a Twitter MySQL installation that had been running 212 days without downtime, over which time it had processed an average of about seven queries per second, returning about 1.36 million data rows per second. Replication is straightworward.

From 2000 to 2005, MySQL matured from a small-footprint database system aimed at web developers, to a full-featured, sophisticated, standards-based, ever-improving RDBMS. Free for your customers to use too, so long as you don't distribute your databases with proprietary code.

Each chapter saves you time ...

... with efficient design ideas, quick info lookups, examples you can put to work.

The first time the SQL Command Syntax chapter saves you 20-30 minutes looking for a bit of syntax you forgot or never knew, the book pays for itself.

The first time an API chapter saves you 20-30 minutes with a clear explanation of how to do something in C or Perl or PHP or Java or .NET or ODBC, the book pays for itself again, perhaps several times over.

The first time the Configuration Variables Appendix saves you 20-30 minutes searching for info on one of the more than 500 MySQL configuration settings, the book pays for itself yet again.

The first time you copy the VirtualMode DataGridView from Chapter 22 straight into a .NET app of yours, the book pays for itself about twenty times over. Ditto for the first time you crib a tree traversal routine from Chapter 20, a point-in-time design from Chapter 21, or a syntax difference with MariaDB from Chapter 6.

Do yourself a favour, buy it now:

Keep yourself up to date

Dead-tree publishing gives you a 500-1000 page tome. It's months or years old. Maybe 200 pages are relevant to you. Some are out of date by the time you read them. So you lug home this two-kilogram object, read the pages of interest, curse the out-of-dateness, and ignore the rest.

Trees died, trucks lugged heavy pallets of books to bookstores, more CO2 made your summer hotter, and you weren't all that satisfied.

It's time to give that 19th century idea of publishing a rest. Some chapters of this book are free. You can purchase the whole book as an inexpensive weightless download, with an optional five-year subscription for updates. Why isn't it on a Kindle or an iPad? We want you, not Amazon or Apple, to own your copy, and we want you to update it as often as you like.

Earlier editions Community editions of MySQL are free to download and free to use with no limits. General release versions that have passed their end-of-support dates but can still be found on archive sites are 5.0, 5.1, 5.5 and 5.6. Currently active generally available releases are 5.7 and 8.0.

5.0 went into production in autumn 2005.

The 5.1 series was in production from 2008 through 2013.

Early in 2009 MySQL introduced the 5.4-5.5-5.6 series. 5.4 was never made generally available; it was replaced by 5.5. New features included scalability improvements, a new INNODB engine, proxy logins, and features backported from the 6.0 series including SIGNAL and RESIGNAL error messaging. It was stable and in production 2010 through 2018.

5.6, released for general use in Feb 2013, added crash-safe binary logs; SQL partition support; UUIDs for each server instance; delayed and multi-thread replication; row image control in replication; performance_schema enhancements; better optimisation of JOIN, WHERE and LIMIT clauses; better information_schema InnoDB metadata; microsecond support in columns that store time; and much needed, much improved error info retrieval with the new GET DIAGNOSTICS command.

Current editions 5.7 went into general release in October 2015. It offers improved security, logging and Triggers; it supports subqueries in Views, JSON columns and indexable derived columns in tables; and fixes many 5.5 and 5.6 bugs.

8.0 appeared as a development release in September 2016, in General Availability release in 2018. It has expanded regex (long overdue), improves InnoDB, and moves system tables and the global data dictionary to it; adds considerable JSON functionality; revises partitioning; adds persistent global variables; adds binary strings to bit function scope; improves query parsing and index use; and adds component-based infrastructure, SQL roles, a utf8mb4 collation. Recursion-capable Common Table Expressions are implemented (they were already in MariaDB 10.2.2); Chapter 20 of Get It Done has examples. There is also support for OVER() and Windowing/Analytic functions.

The first 8.0 General Availability release was 8.0.11. Later releases fioxed many bugs and implemented more major improvements. 8.0.13 introduced indexing on expressions including native functional calls. 8.0.16 (finally!) implemented Check Constraint. 8.0.17 added an InnoDB cloning plugin. 8.0.18 added random password generation and Explain Analyze for iterator-based timing, cost, and other query execution info in tree format. 8.0.20 enhanced Check Constraint on replication slaves and query use of Hash Joins. 8.0.21 refined InnoDB row locking and group replication. 8.0.22 introduced more replication refinements including aliases for the traditional but offensive SQL keywords "master" and "slave". 8.0.23 added support for invisible columns. 8.0.24 extended windowing and casting values to geospatial values.

Get It Done covers all 5.0, 5.1, 5.4, 5.5, 5.6, 5.7, 8.0 releases, also features from the abandoned version 6.0 that haven't yet been ported to currently active MySQL releases.

We've also put up links to the MySQL Server Developmnt Team's development notes on new featuress in 8.0 under "Version Notes" on our Tips page.
Reviews, feedback "Timely, relevant, and correct ... also well organized and quite complete" -- Baron Schwartz

"This is, without a doubt, the best of all the books on MySQL I've found." -- Phil Mickelson

"Excellent book." -- Michael K. Peterson

"Looks like the book to get if you are a MySQL programmer." -- Jim Lawrence

"A complete MySQL resource." -- Diego Medina

"Your website "Get it Done with MySQL 5&Up" is simply awesome and thank you again." -- Balaji Thiayagarajan

"*Splutter*, *gasp*--YES! How the heck did you do that? It worked like a charm first try. Wonderful, sir--you just tell me where to send the baked ham, and it's yours." -- Max Loeb
Advanced Topics Working with Graphs in MySQL shows how to implement edge list, nested sets, and hybrid models of hierarchies like family trees, plane routes and parts explosions. There are more than 40 working queries and routines, including a PHP function that renders any tree graphically using the new Google Visualization API.

Who Knows Where The Time Goes? is a full account of how to implement time validity and point-in-time architecture using MySQL 5, with 70 working SQL scripts.

Visual Studio and MySQL is an 80-page walkthrough with analysis, explanation and source code for two perfectly general and complete standalone .NET versions of a Windows database-enabled application, one for MySQL databases, one for SQL Server databases. Runtime ComboBox selection of database and tables, master-detail grids, just-in-time on-the-fly DataGridView lookup browse windows, general-purpose Find dialogs, a ListView lookup browser, and more.
Buy It Now! Click here to buy your copy of Get It Done With MySQL 5&Up. Buy the ebook with updates and get free updates for five years. Buy the ebook by itself and get a month of free updates.


Try it! Browse the sample chapters from the links down the left side of this page.

For more samples of our take on MySQL, see the Common Queries and MySQL Tips pages.
TheUsual A free, fast, user-friendly web browser interface, written in PHP, for all your MySQL databases on all your servers, whether you own the servers your databases are on, rent them, or share hosting services. Supports automatic queries, ad hoc and saved queries, automatic master-detail browsing, pagination and sorting, add/edit/copy/delete table maintenance, stored routine creation & maintenance, database maintenance & backup, and on-the-fly Area, Motion, Org/Tree, Pie and Scatter graphical charts.
Common queries Our collection of common MySQL queries soon outgrew Chapter 9. It runs now to more than 120 printed pages, and it is still growing, so we turned it into a PHP page driven by a pair of MySQL tables implementing an edge list tree model (for how to use edge list and other tree models in MySQL, see Chapter 20 of the book). Click here for the Common Queries page, and here for a panelled tree view of the same material.
Companies still doing business in Russia ...
Citigroup Inc
Coca Cola Co
Estée Lauder Companies Inc
Herbalife Nutrition Ltd
Hilton Hotels Corporation
Kimberly-Clark Corp
Papa John’s International Inc
PepsiCo Inc
Starbucks Corporation
Contact Us © Artful Software Development