MySQL Tutorial
MySQL is an open-source relational database management system used by web and application systems. This tutorial groups practical guides for querying data, changing rows, designing tables, using indexes, and administering MySQL.
If a statement fails, use the MySQL error troubleshooting index to find a guide by error number or message.
For OS-specific installation steps, browse the MySQL installation guides.
For the latest feature track, see MySQL 26.7 Innovation on Debian 13. For a longer-lived feature set, choose MySQL 9.7 or 8.4 LTS.
For an existing MySQL 8.4 server, see the upgrade guide to MySQL 9.7 LTS. For MySQL 8.0, follow the supported 8.0-to-8.4 upgrade before moving to 9.7. If you already run MySQL 9.7 LTS and need the Innovation track, follow the Debian 13 upgrade guide to MySQL 26.7.
For browser-based helpers to triage connection errors, estimate pool capacity, compare foreign-key definitions, and check column names, visit SQL and database tools.
For a focused workflow that separates global connection pools, per-account limits, table storage, and lock memory, see MySQL Capacity Planning.
Start your MySQL First Lesson now!
-
MySQL Getting Started
-
Installation Guides
-
MySQL Basics
- MySQL INNER JOIN
- MySQL ON DELETE CASCADE
- MySQL LEFT JOIN
- MySQL SELECT
- MySQL WHERE
- MySQL CTE
- MySQL Recursive CTE
- MySQL AND
- MySQL OR
- MySQL IN
- MySQL NOT IN
- MySQL BETWEEN
- MySQL LIKE
- MySQL IS NULL
- MySQL EXISTS
- MySQL ORDER BY
- MySQL LIMIT
- MySQL DISTINCT
- MySQL JOIN
- MySQL SELF JOIN
- MySQL GROUP BY
- MySQL HAVING
- MySQL UNION
- MySQL ALIAS
- MySQL subqueries
- MySQL INSERT
- MySQL INSERT Multiple Rows
- MySQL INSERT IGNORE
- MySQL INSERT INTO SELECT
- Import CSV into MySQL
- Export MySQL to CSV
- MySQL DELETE
- MySQL DELETE JOIN
- MySQL UPDATE Statement: Syntax and Examples
- MySQL UPDATE JOIN: Update Rows from Another Table
- MySQL Transactions
- MySQL REPLACE
- MySQL Prepared Statements
- Latest Row per Group
- UPSERT
- Top N per Group
-
Capacity Planning
-
MySQL Databases and Tables
- MySQL NULL Values
- MySQL Create Databases
- MySQL Drop Databases
- MySQL Use Database
- MySQL Create Tables
- MySQL Drop Tables
- MySQL Alters Tables
- MySQL Truncate Tables
- MySQL Primary Keys
- MySQL Foreign Keys
- MySQL Lock Tables
- MySQL Drop Columns
- MySQL Add Columns
- MySQL Auto Increment Columns
- MySQL CHECK Constraints
- MySQL Rename Tables
- MySQL Generated Columns
- MySQL Unique Keys
- MySQL NOT NULL
- MySQL Charset and Collation
-
MySQL Data Types Overview
-
MySQL Indexes
-
MySQL Administration
- MySQL Start/Stop
- MySQL Create User
- MySQL Drop User
- MySQL Rename User
- MySQL Change Password
- MySQL Show Users
- MySQL Lock Users
- MySQL Unlock Users
- MySQL GRANT
- MySQL Revoke Privileges
- MySQL Show Grants
- MySQL Role
- MySQL Show Databases
- MySQL Show Tables
- MySQL Show Columns
- MySQL DESC
- MySQL Maintain Tables
- MySQL Backup
- MySQL Restore
- MySQL Show Processlist
-
Error Troubleshooting