Skip to content
Course introduction

A comprehensive course on MySQL for developers

Welcome! MySQL for Developers is PlanetScale’s free MySQL course that teaches you schema basics, indexing, querying, and beyond. This intermediate MySQL course is appropriate for both developers just getting started and those who need a refresher.

No prior knowledge of databases is required! This free MySQL course will tell you what you need to know about using MySQL efficiently as an application developer. My name is Aaron Francis, and I’ll be your instructor for the course. We’ll be breaking the course down into several sections, starting with the schema and covering everything from data types to indexes, to querying, and much more.

Schema: what makes an effective and efficient table?

In the first section of the course, we’re going to start by looking at schema basics. What makes an effective table? How do different data types in MySQL work? When should you use one type over another? We’ll also look at the drawbacks of certain data types and how to avoid them while building a schema. This is the foundation for the rest of the course, so make sure you understand these concepts before moving on to more advanced topics.

Indexing: what is an index and how it works?

In the next section of the course, we’ll cover indexing in depth. What is an index, and why is it so fast? How can we make the most of it when building our schema? We’ll cover all of these questions and more in this section.

Querying: writing efficient and effective queries

In the third section of the course, we’ll cover querying. How do we write efficient and effective queries? How do we use the indexes we built earlier to make our queries super fast? This section builds on everything we’ve covered in the previous sections, so make sure you have a strong foundation before attempting it.

Putting it all together: examples for application developers

In the final section of the course, we’ll take everything we’ve learned and put it together into a series of examples that application developers often encounter. By the end of this section, you’ll have a deep understanding of how to build efficient and effective MySQL databases that work well for your applications.

Who this is for

This course is designed specifically for developers, so no prior knowledge of databases is required. We won’t be covering low-level details or administration, as this course is focused on how to use MySQL effectively as an application developer. If you’ve found databases intimidating in the past, don’t worry—we’ll take it step by step, and you’ll be an expert user by the end of the course.

Screen overview

Throughout the course, we’ll be using a TablePlus client on my Mac to run queries and view results. You’ll see me on screen sometimes, and most of the time, I’ll be up in the corner while we look at the TablePlus client. We won’t be using a lot of slides, as I know they can be boring. Instead, we’ll be getting hands-on and looking at actual tables, queries, indexes, and more within the TablePlus client.


This course covers everything you need to know to become an expert user of MySQL as a developer. We’ll start with the basics of schema and data types, move on to indexing and querying, and finish up with real-world examples. By the end of the course, you’ll have a deep understanding of how to build efficient and effective MySQL databases that work well for your applications. I hope you enjoy the course and learn a lot!

About this lesson

Welcome to the MySQL for Developers course! This first video will give you an overview of what we’re going to cover, what you’ll see on the screen, and an introduction to your instructor.

Closed captioned

Meet your instructor, Aaron Francis

Developer Education

I’m a dad to one-year-old twins and a software developer with a keen interest in processes and automation.

Feedback or questions? Reach out to our team at

By submitting your email, you agree to the processing of your personal information by PlanetScale as described in the Privacy Policy.