Back to articles list Articles Cookbook
7 minutes read

MySQL Crash Course - An Interview With Rick Silva

If you've read my articles before, you probably already know that I love reading. What's more, I also collect SQL books. It may sound weird, but I enjoy comparing different approaches and ways of writing about databases. The best ones end up in our recommended books lists, like The Best SQL Books for 2023. One of those books, MySQL Crash Course, has just been released. I was able to talk to its author, Rick Silva, and this is what he told me.

I’m talking to Rick Silva, the author of the awesome book MySQL Crash Course:

A Hands-on Introduction to Database Development. Thank you for being with us, Rick. What can we expect from your new book?

It's a good book for somebody without a lot of experience in MySQL who wants to get up to speed quickly. The book explains how to create database tables, views, and procedures, but it doesn't assume that you know what they are at first. It starts at ground zero and explains them from the beginning so that somebody who has never used a database before can follow along too.

The book takes you through the process of creating tables and writing SQL queries that join tables. It explains the different ways to join tables in MySQL, how to compare values, and how to call MySQL functions.

In the later chapters, you’ll learn how to write your own functions. There is also a chapter of real-world tips and tricks that I picked up over the years that I haven't seen in any other database book.

You can learn a ton about MySQL just by reading the book. But if you're the type of person that likes to try things out yourself, the book has all sorts of interesting examples that show how to track everything from subway systems to sports arenas to election data in your database.

All the scripts in the book are available online, so you can run them in your own MySQL environment. (The book explains how to do that.)

Sounds great! But let's start from the beginning. Why did you choose MySQL?

I’ve used a lot of relational database systems, including Oracle, MySQL, Postgres, and SQL Server. I love that MySQL is open source. It's amazing to me that it's free to download such a comprehensive database management system that can house all the data for your website, your startup, or your entire organization.

MySQL is the most popular open-source relational database by a long shot. It's fast, secure, and scalable. It's well worth learning.

Who should read your book?

Anybody who wants to learn MySQL. It's well suited for beginners because it doesn't assume any prior database experience. It's also a good book for people who have experience with another database (like Oracle, Postgres, or SQL Server) and who want to transition to MySQL.

Do you think anyone can learn to work with databases?

MySQL Crash Course

Honestly, I think anyone can learn just about anything if they put their mind to it and start at the beginning. You can learn to speak Chinese, play the accordion, or fly an airplane if you want to.

Learning to use databases doesn't require mathematical skills. You don't need a PhD. If you can look at an Excel spreadsheet and understand what it represents, you've got the basics.

A spreadsheet is a grid of rows and columns. All the rows have the same number of columns. There might be 20 rows, 200,000 rows, or no rows.

Database tables are the same. Databases store data in tables that also have rows and columns. Sometimes we select data from two or more tables. There's more to it, but the key point is that you use databases to store your data in tables that have rows and columns.

You use a language called Structured Query Language (SQL) to write data in the tables and to display it. So learning the syntax (the words to use) for SQL is a big part of it.

What advice do you have for aspiring developers and database administrators who want to build a career around MySQL?

Try to decide early in your career whether you want to be a developer or a database administrator.

A developer helps create applications (web, mobile, or desktop apps). A database administrator typically installs and configures MySQL. A database administrator backs up the database and restores it in case of an emergency.

Are you the type of person who enjoys building apps, or are you a more low-level techie who is interested in knowing how MySQL works internally and wants to learn how to configure it for maximum efficiency?

Often, a database developer would also work with programming languages (like Java, Python, or PHP). Database administrators often have a deep knowledge of Linux and security.

I wrote the book thinking primarily about database programmers.

I really enjoyed the little assignments you give your readers after each major topic. Tell us about these "TRY IT YOURSELF" sections.

The try-it-yourself exercises reinforce the concepts that were just explained in the book.

It's interesting that there are some readers who just want to read a book, but a lot of other readers want to kick the tires on the concepts themselves.

MySQL is well suited for trying things out yourself because it's open source. You can download it to your computer and create your own database environment where you can run the examples.

All of the "answers" to the try-it-yourself exercises are available online as SQL scripts. You can learn by comparing the solution that you came up with to my solution.

You also write about how MySQL works with other programming languages. Would you briefly tell us about this?

I included a section that shows how you would use MySQL from within PHP, Java, and Python.

I wanted to show that there are differences in the way you call MySQL from within different languages, but that the basic approach is the same.

I created programs that use data about the highest mountains in the world; this data is stored in a MySQL database. I wrote programs in PHP, and then I wrote the same programs in Java and Python for comparison.

Knowing how to use different languages with MySQL is a good skill to have. It's also fun to take a look at code examples from different programming languages that you may not be familiar with.

What books have you read lately? Can you recommend any good books?

MySQL Crash Course

I'm a big fan of Atomic Habits by James Clear. It's basically about improving yourself by creating good habits.

I recently lost 30 pounds on the keto diet. The book End Your Carb Confusion by Dr. Eric Westman and Amy Berger was instrumental in that.

I'm a little embarrassed to admit how many computer books I own. I think my all-time favorite is Python Crash Course by Eric Matthes.

I know you have another passion that I just have to ask about – especially since I play a musical instrument myself. Perhaps people who love databases also find fulfillment in music. I chose the guitar and played in a band for many years. Which instrument do you play?

Guitar is a lot of fun. I play the banjo.

When I moved from Boston to North Carolina, I thought it would be fun to do something Southern so – just on a lark – I bought the cheapest banjo on Amazon. I had no idea how to play it.

MySQL Crash Course

The more I learned to play, the more fun it became. I upgraded to a better banjo and now I play at bluegrass jams in the Raleigh NC area, where I live. It's a blast.

Thank you for the interview.

Thank you!