Murach's MySQL 3rd Edition

Author: Joel Murach
Publisher: Mike Murach
Pages: 628
ISBN: 978-1943872367
Print: 1943872368
Audience: MySQL developers
Rating: 5
Reviewer: Kay Ewbank

This new edition of a popular title brings the material up to date to cover MySQL 8, and covers newer MySQL features such as window functions, Common Table Expressions (CTE), and roles for database security.

Like other Murach titles, this book uses a paired-page layout where new ideas are described on the left-hand page, and the right-hand page is used for examples of the concepts being introduced. So if the use of the Extract function to parse dates and times is described in words on the left-hand page, on the right-hand page you'll get the reference of the Extract function, a list of date and time units you can use in Extract, and some examples that use the Extract function.


I like this style of presentation; it's not chatty and discursive, but it covers the material in a detailed way with good examples that you can refer to without wading through descriptions.

The book starts by introducing MySQL, with chapters on relational databases, the MySQL Workbench, and retrieving data from a single table and multiple tables, as well as insert, update and deleting data, all done using SQL.


Section 2 moves on to summary queries, subqueries, data types and functions. The chapter on summary queries goes as far as aggregate functions, group by, having, where, with rollup and grouping operators. It also looks at coding aggregate window functions and the use of frames. The chapter on subqueries started with adding subqueries to the Where clause, the use of In, All, and putting subqueries in Having, Select and From. It also looked at working with complex queries and using Common Table Expressions.
Section 3's topic is database design and implementation - enough for a big book in its own right. I don't know how well this section works; the material was well presented, but I'm not sure a page on designing a data structure that has instructions on 'identify the data elements; subdivide each element into its smallest useful components' would get you very far if you didn't know what you were doing. However, the book does show the commands you can use and gives examples of their use. The section goes on to show creating databases, tables, indexes and views.
The next section is probably the one of most interest to our audience - stored program development. It kicks off with a chapter on the language elements you need and how to write procedural code. There's a good chapter on transactions and locking, with a subsection on working with concurrency and locking. Chapters on stored procedures and functions, and working with triggers and events complete this section.
The final part of the book is on database administration. There are useful chapters on securing a database and backing up and restoring a database. Two appendixes end the book looking at how to install MySQL for Windows and MacOS.
This is a thorough book, and the topics are covered well, including new material such as window functions and Common Table Expressions (CTE). One point to note is that the book is very similar to the equivalent Murach title for SQL Server - MySQL specifics are all correct, but much of the general material is presented without much change. That's not necessarily a criticism, just an observation if you happen to already have the SQL Server version of the book. Overall, this is a good, solid book that presents everything you need to use MySQL.


The Road to Azure Cost Governance

Author: Paola E. Annis et al
Publisher: Packt Publishing
Pages: 314
ISBN: 978-1803246444
Print: 1803246448
Kindle: B09NW2CTHX
Audience: Bill payers
Rating: 4.5
Reviewer: Ian Stirk

This book aims to help you reduce your Azure costs, how does it fare?

PHP In Easy Steps, 4th Ed

Author: Mike McGrath
Publisher: In Easy Steps
Date: April 2021
Pages: 192
ISBN: 978-1840789232
Print: 1840789239
Kindle: B08ZSV3MNH
Audience: People wanting to learn PHP
Rating: 4
Reviewer: Ian Elliot
PHP isn't a fashionable language, but this doesn't mean it isn't worth learning.

More Reviews