The Data Manipulation Language (DML) covers the SQL statements used to
insert, change, remove, and retrieve rows in a table. The SELECT
statement is sometimes regarded as belonging to a separate language
called Data Query Language (DQL), but it is covered here alongside the
rest of DML.
Data Manipulation
Data Manipulation covers
INSERT, REPLACE, UPDATE, DELETE, and SQL
Modes, which control how strictly the server validates data during
these operations.
Data Retrieval
Data Retrieval covers the
SELECT statement in full, row constructors with VALUES
ROW(), set operators (UNION, INTERSECT,
EXCEPT), JOIN syntax, CASE and IF(), and
the low-level HANDLER interface.
Subquery
Subquery covers scalar, column, table,
and lateral derived-table subqueries.
CTE
CTE covers Common Table Expressions, including
the WITH...SELECT syntax, parenthesized column lists, recursive
CTEs, and more complex variations.
Query Optimizer
Query Optimizer covers the system
variables, optimizer hints, index hints, and statistics that influence
how MySQL executes a query.
Injection Attacks
Injection Attacks covers common
SQL injection techniques, input validation, and how to defend against
injection using prepared statements in MySQL, PHP, and PDO.