Die Befehle zur Manipulation der Daten in SQL (DML statements, data manipulation language) beschränken sich auf die vier Operationen Einfügen, Ändern, Entfernen und Auswählen.
nnnnnn¯ INSERT INTO tableName [colIdent {INSERT fügt ein neues Werte-Tupel in eine Relation ein."
,"
colIdent}](query VALUES
"
("
insertValue {"
,"
insertValue}"
)"
)
nnnnnn¯ UPDATE tableName SET colIdentUPDATE ändert entweder alle Tupel einer Relation, die die Bedingung erfüllen, oder dasjenige Tupel, über dem der Cursor positioniert ist."
="
(expr NULL) {"
,"
colIdent"
="
(expr NULL)}(WHERE searchCondition CURRENT OF cursorName)
nn¯ DELETE FROM tableName (WHERE searchConditionDELETE entfernt entweder alle Tupel einer Relation, die die Bedingung erfüllen, oder dasjenige Tupel, über dem der Cursor positioniert ist.CURRENT OF cursorName)
nnnnnn¯ SELECT [ALL DISTINCT] selectList FROM tableListSELECT wählt von den Tupeln einer oder mehrerer Relationen die aus, die bestimmte Bedingungen erfüllen. In der zweiten Variante bereitet man die ausgewählten Tupel für eine Änderung vor.[WHERE searchCondition]
[GROUP BY colName {, colName}]
[HAVING searchCondition]
{UNION [ALL] selectStatement}
[ORDER BY sortSpecification {, sortSpecification}
SELECT [ALL DISTINCT] selectList FROM tableList
[WHERE searchCondition]
FOR UPDATE OF colName {, colName}
Die Abarbeitung einer SELECT-Anweisung soll hier kurz erläutert werden:
Die hier gezeigten SQL-Anweisungen stimmen in ihrer genauen Formulierung vielleicht nicht im Detail mit denen der SQL2-Standarddokumente überein, sind jedoch so angegeben, wie sie ODBC-Datenbanken erwarten und interpretieren können [ODBC94]. Da hier nur die generelle Syntax von SQL-Anweisungen wiederholt werden soll, sollten die (feinen) Unterschiede nicht stören.