Level: Basic — A classic trap to test if you understand the difference between a language and a product.
This is one of the most common points of confusion for beginners. In short: SQL is a language, while MySQL is a software (RDBMS) that uses that language.
SQL (Structured Query Language) is the standardized language used to communicate with relational databases — to create tables, insert data, query records, and manage permissions. It is not owned by any single company; it's an ANSI/ISO standard.
MySQL, on the other hand, is a specific database management system that implements SQL. It is the actual product/server you install to store and manage your data, developed by MySQL AB and now owned by Oracle.
| SQL | MySQL |
|---|---|
| It is a query language. | It is a database software / RDBMS. |
| Used to write queries and manage data. | Uses SQL to store, retrieve, and manage that data. |
| It is a standard (ANSI/ISO) — it never changes drastically. | It gets frequent updates, new versions, and features. |
| Not owned by any single company. | Owned by Oracle Corporation. |
| Same syntax works across many databases (with minor differences). | Adds its own extra functions and storage engines on top of SQL. |
The line below is SQL (the language). MySQL is the engine that actually runs it and returns the result:
-- This is SQL (the language)
SELECT name, salary
FROM employees
WHERE salary > 50000
ORDER BY salary DESC;
-- MySQL is the software that executes this statement
-- and returns the matching rows.