DeveloperWeek San Franciso, er, Oakland

February 12, 2020

8,000 developers are pouring into the Oakland Convention Center for the DeveloperWeek San Francisco area. booth And I will be speaking Thursday on MySQL Without the SQL – Oh My! plus we have staff in the booth to talk about the new features in MySQL 8.0! You also can win your own Sakila Plush toy if you can pass my quiz.


MySQL at Sunshine PHP

February 4, 2020

Sunshine PHP is the first US based PHP Conference of the year and it has been a favorite of mine for a long time. MySQL is proud to again sponsor this amazing event. This show brings in the best talent from around the world and covers all the aspects of PHP software development.SunshinePHP logo

I will be speaking on new features in MySQL such as dual passwords, hash joins, and JSON document validations. And this year Kathy Forte will present on Testing MySQL Group Replication with MySQL to Enhance Your High Availability Strategy.

There are a few tickets left but they are running out quickly. And be sure to drop by the MySQL booth to say hello.

Gifts For MySQL DBAs

December 12, 2019

Dear MySQL DBA — You are darn near impossible to shop for and the holidays are quickly approaching.  Make a hard copy of this blog, cut at the dotted line below, circle the items you want, and hand this out to the folks who will be buying you presents. If you do not you may get the coffee cup that plays the Baby Shark sound continuously when it senses hot liquids inside — you do not want that.

Dear person trying to by a MySQL DBA a gift,

Yes, that person is very hard to buy gifts for and they are presenting this to you to aid your hunt. If you to to you will find links to the vendors selling these goods. Hopefully this will ease the holiday shopping pressure.

  1. A funny cup


  2. A great shirt


  3. A bib

    Probably for the kids of DBAs or future DBAs. But may not be a bad idea for the extra sloppy adult.


  4. Another cup


  5. A Hoodie


Linuxfest Northwest, Longhorn PHP, PHP Tek, Percona Live, Texas Linuxfest, & Southeast Linxufest

April 24, 2019

Last week I spoke at the Open Source 101 conference in Columbia, South Carolina on ‘MySQL 8.0 Features for Developers’. This week I will be in Bellingham, Washington for Linxufest Northwest speaking on ‘The Top 7 Database Mistakes You Are Making’ and ‘MySQL 8.0 Features for Developers’.

Longhorn PHP is May 2nd through the 4th in Austin. I will be speaking on ‘MySQL 8.0 Features for Developers’. And you may want to check out Mark Neibergal’s ‘Relational Database Design Bootcamp’.

MySQL is proud to again sponsor PHPTek May 21st and 22nd.

Then back to Austin for Percona Live Open Source Database Conference May 28th-30th. I was on the content committee for the MySQL track and there are a lot of great sessions. Be sure to read my earlier post on things to see in Austin such as seeing the bats fly out of the Congress Street Bridge andwhere to get the best BBQ.

Right after that and three hours up the road in Irving is the Texas Linxufest. I will lead a three hour tutorial that is an introduction to MySQL and later talk on ‘MySQL 8.0 Features for Developers’.

The June rolls around with the 10th anniversary Southeast Linuxfest. More on the talks later but you can hear myself and the amazing Dr. Charles Bell give presentations.

Percona Live Moves to Austin for 2019

December 19, 2018

Percona Live 2019 will be in Austin. Usually the event has been in Santa Clara and I am sure many of your are wondering about Austin in particular and Texas in general. I moved from Southern California to Texas many years ago and I want to assure you that Austin has many unique properties and well worth the trip.

Austin’s motto is Keep Austin Weird. Most of the population seem to be actively working on keeping the promise of that motto. The Museum of the Weird is in downtown and at sunset bats fly from under the Congress Avenue Bridge. There is lots of nightlife on 6th Street and Congress Avenue. So the nightlife, live music, and local vibe is much moire vibrant than Santa Clara.

Food will be the downfall for many of you. There are lots of great BBQ places but The Salt Lick in Driftwood outside of town is the best in my opinion but there are scores of other places worth a visit. For breakfast you have to try the pineapple upside down pancakes at Snooze. You can find steaks, pizza, vegetarian, and every other variety of food, usually in great quantities. So bring a pair of sweatpants to wear home when you ‘outgrow’ your regular pants. Sadly you will miss the January 8th birthday celebration where anyone dressed as Elvis (or Priscilla) eats for free but it is still some of the best Tex-Mex food (ask to sit in the Hubcap Room). And I assure one of the MySQL Engineering team members that we do have In-N-Out burgers in Texas as well as Whataburger.

Barton Springs is a great place for a swim. The pool itself measures three acres in size and is fed from underground springs with an average temperature of 68-70 degrees. There are bike lanes and running trails for those wanting to exercise.

Texas are friendly especially when they are having fun. So plan to make a side trip to Schlitterbahn, a very unique water park. For something less strenuous you can tube the Comal and Guadalupe Rivers. These attractions are about a half hour south of Austin but well worth the trip. So plan another day just for this and then stop in New Braunfels for great German food and then stop in Gruene to visit the famous dance hall where many now big musical acts started their careers.

Motorcycle rides may want to arrive a few days early to ride the Circuit of the Americas. Or ride the Three Sisters to see the Hill Country.

So while there are some aspects of Santa Clara that may be missed (I really can’t think of any), I hope that all y’all make the trip to Austin. Grab an iced tea, some brisket, and enjoy the weirdness.

2019 Holiday Gifts for your MySQL DBA or Developer

December 3, 2018

Dear Family Member of a MySQL DBA or Developer,

You know how hard it is to shop for them at holiday time and you were probably handed a printout of this blog of present suggestions with certain items circled or highlighted. Please use this as a guide to help with shopping for this year.

The 2018 Gift Guide

1. T-shirt

DBA T-Shirt

Available from

2. Travel Mug

Travel Mug for DBA

Available at

3. Alternative Travel Mug

Alternative Travel Mug

Available from Redbubble

4. Playing cards, available in SQL

Playing Cards

Available at Amazon

5. Robot


Available at Gadgetify

6. Long Sleeve T-Shirt


Available at Teespring

Little Rock Tech Fest, Symfony Live, Zendcon, Oracle Open World, Oracle Code One, and Madison PHP

September 26, 2018

October promises to be a busy month. I will be at the Little Rock Tech Fest Little Rock Tech Fest Image October 4th and 5th speaking on The Proper Care and Feeding of a MySQL Database and MySQL 8. Then I am off to San Francisco to speak on MySQL Tips and Tricks on October 12th at Symphony Live USASynfony Live USA. Then it is off to Las Vegas and Zendcon where I will speaking on MySQL 8 and MySQL Without the SQL. Zendcon and Open Enterprise

Next is the dynamic duo of Oracle Openworld and Oracle Code One. I have a talk at Oracle Code One on the MySQl X DevAPI and PHP with lots of coding examples (too many? Nah!) and I will have a book signing sometime during the expo show hours. And the MySQL Community Reception is moving to a new location, details to follow..Oracle Code One

Then to round off the month is my first trip to Madison PHP where I will speak on MySQL 8. Madison PHP Image

PHP on the West Coast

September 14, 2018

I was barely back from the UK when I got back on a jet and made my way to Portland for CascadiaPHP where I will speaking on the MySQL Document Store.

Then it is down to my home town of San Diego for WavePHP to talk about MySQL 8.

The PHP community has been blessed this year by the big shift to the PHP 7 series AND a slew of new shows. Austin, Detroit, Nashville, Portland, and San Diego.

If you attend either show, I have lots of swag — plush dolphins, squish dolphins, stickers, and a handful of my book. And if you are good on all that please stop by and say hello.

Wales and London next week

September 5, 2018

Next week is a trip to Swansea in Wales for SwanseaCon on Monday the 10th where I will be speaking on MySQL 8 Server Optimization. And then the next day in London is the London MySQL Meetup.

SwanseaCon is a one day, agile development and software craftsmanship conference for Software Developers, Software Testers, Business Analysts, Scrum Masters, Software Architects, Project Managers and Consultants in Wales. This is the forth year in the beautiful sea side city and the audience is extremely sharp. The talk subjects range from mine to The Systemics of the Liskov Substitution Principle, and I am here for an argument – Working with conflict in teams.

The London MySQL Meetup is a fantastic group. They tend to meet in pubs (Highly recommended on my part) and the members are an amazing cross section of MySQL talent. Admission is free, by the way.

I hope to see you at either (or both) events if you can make it.

Output MySQL in JSON Format

August 13, 2018

I was recently asked if there is anyway to select non-JSON data from a MySQL database and output that data in JSON format. There are two very easy ways to to this.

JSON Array

If you need a JSON array, it is very easy to use the JSON_ARRAY() function. Simply select the columns you want as the argument to JSON_ARRAY()

SQL> select
json_array(continent,Population, Code)
from country
limit 5;
| json_array(continent,Population, Code) |
| ["North America", 103000, "ABW"] |
| ["Asia", 22720000, "AFG"] |
| ["Africa", 12878000, "AGO"] |
| ["North America", 8000, "AIA"] |
| ["Europe", 3401200, "ALB"] |
5 rows in set (0.0006 sec)


However to get a JSON object you need to do a little more work. JSON objects require pairs – key/value pairs — so you need to pass a key, even a fictitious one for each value you desire. In the example below I use strings with the name of the column to pair up with the values

json_object('Continent', continent,
'Population', Population,
'Code', Code)
from country
limit 5;
| json_object('Continent', continent, 'Population', Population, 'Code', Code) |
| {"Code": "ABW", "Continent": "North America", "Population": 103000} |
| {"Code": "AFG", "Continent": "Asia", "Population": 22720000} |
| {"Code": "AGO", "Continent": "Africa", "Population": 12878000} |
| {"Code": "AIA", "Continent": "North America", "Population": 8000} |
| {"Code": "ALB", "Continent": "Europe", "Population": 3401200} |
5 rows in set (0.0007 sec)

Remember if you have questions about this or other MySQL JSON data type programming, please refer to my book MySQL and JSON A Practical Programming Guide -- David Stokes