MySQL is a free SQL database. It’s common with beginners and developers working on small projects, but is also used by large companies to run their systems.


Setting Up MySQL Database

How to Install MySQL on Mac using Homebrew: use the package manager called Homebrew to install MySQL

How to Install MySQL on Mac using the DMG File: use the installation package or wizard to install MySQL on Mac.

How to Install MySQL on Windows: use the installation package to install MySQL on Windows.

Learning the Basics

59 Best Resources for Learning SQL: A large list of other places to learn SQL

19 Best Database Books: a list of books on database-related topics

SQL Roadmap: a guide on SQL topics from beginner to advanced.

PostgreSQL vs MySQL: An analysis of the differences between PostgreSQL and MySQL.

Basic SQL Statements

Data Manipulation

SELECT Statement Guide: view data in a table

INSERT Statement Guide: add data to a table

UPDATE Statement Guide: modify data in a table

DELETE Statement Guide: remove data from a table


WHERE Clause: filter data from your query

ORDER BY Clause: specify the order of the results of a Select query

GROUP BY: allows you to group data by values in a column and use aggregate functions

HAVING Clause: allows you to filter data after a group has been applied

DISTINCT: eliminate duplicate rows from your results


Create Table guide: create a new table on the database

Alter Table guide: make changes to an existing table

Drop Table guide: remove a table from the database

Truncate Table guide: remove all data from a table

Additional SQL Features

Operators: perform calculations and operations on data

Set Operators: combine results from two queries into one

CASE Statement: use conditional (if then else) logic in a query



Joins guide: a guide to joins which are how you combine multiple tables together in a query

One to One joins (video): definition of this join type and an example

One to Many joins (video): definition of this join type and an example

Many to Many joins (video): definition of this join type and an example

Self Join (video): definition of this join type and an example



Aggregate Functions: functions that aggregate data into one or more rows

Window Functions: functions that let you analyse data across multiple rows



There are many more objects in a database besides tables. Learn all about them in these guides.

Indexes: a guide to Indexes in SQL

Constraints: rules that can be set on your data

Keys: surograte, natural, primary, foreign, composite, and more

Stored Procedures: a guide to stored procedures in SQL

Views and Materialised Views: objects that let you view data in certain ways

Database Schema: an explanation of this term

Temporary Tables: what it is and how to create one


Further Learning

More features and topics in SQL and MySQL database.

Glossary of Terms: A definition of many terms used in SQL and database development

Data Types: a guide to data types in many different databases

Interview Questions and Answers: a list of 69 interview questions and answers, plus interview tips

DML, DDL, and TCL: a list of SQL commands and what DDL, DML, and TCL mean

Aliases: A guide to column aliases and table aliases in SQL

Subqueries: a guide to subqueries, what they are, and many different examples.

Limiting Results: a guide to SQL row limiting and Top-N queries

CTE (WITH Clause): a guide to Common Table Expressions (CTEs) aka the WITH clause

Transactions and Isolation Levels: an explanation of transactions in SQL and what isolation levels are

Concatenate: what concatenation is and how to do it in SQL

Booleans: how SQL handles booleans and how you can implement them

Wildcards: An explanation of what wildcards are and how to use them

Null: a guide on what NULL is and how to handle them in SQL

Data Warehouses: an in-depth guide to data warehouses

Comments: a guide to comments in SQL and why they can help

Database Version Control, CI, and CD: An in-depth guide on database version control, continuous integration, and continuous deployment

How To

A collection of articles detailing how to do common tasks in SQL queries.

Select Rows with a Max Value: how to select rows with a maximum value for a column

List Tables in a Database: how to list all the tables in a database or a schema

Escape Single Quotes: how to escape single quotes in SQL

Remove Duplicate Records: how to remove duplicate records in SQL

Generate a Pivot Table: how to generate a pivot table in MySQL

Export a Database using mysqldump: how to export (and import) a database using the mysqldump utility

Change a User’s Password: how to change a password in MySQL

Database Timezones: The Ultimate Guide: how to store and work with dates, times, and timezones in a database

Privileges: a guide to privileges in MySQL

How to Fix MySQL Error: Access Denied for User ‘root’@’localhost’

How to Save MySQL Query Output to a File


Here’s a compilation of reference lists that can be useful when working with MySQL.

42 ETL Tools: a list of 42 different ETL tools.

51 SQL IDEs and Editors: a list of many different SQL editors to let you write SQL code and much more.