SQL (Structured Query Language) - язык разработанный специально для обслуживания реляционных баз данных. Главная цель SQL предоставить интерфейс с базой данных, поэтому он может использоваться всеми видами пользователей:
· разработчики приложений;
· администраторы базы данных;
· простые конечные пользователи (редко).
Очень часто SQL любят называть языком четвертого поколения, в котором программист указывает что ему нужно, а не как что-то сделать.
Внутри SQL часто выделяют два языка или две группы команд, которые рассмотрены ниже. Также SQL не отвергает процедурное программирование, позволяя создавать процедуры, функции и триггеры. Но эти возможности как и реализация ООП зависят от конкретной СУБД. В принципе стандарты языка разрабатываются как SQL99 и SQL2003, и возможно в будущем эти различия не станут столь значимыми.
DDL (Data Definition Language)
Команды этой группы управляют структурой базой данных:
· создавать, изменять и уничтожать БД и ее объекты (CREATE, ALTER, DROP);
· переименовать объекты (RENAME);
· стереть все данные в объектах без удаления объектной структуры (TRUNCATE);
· добавлять комментарий к объектам БД. (COMMENT).
DML (Data Manipulation Language)
Команды этой группы позволяют запрашивать и обрабатывать данные в существующих объектах:
· получить данные из одной и более таблиц (SELECT);
· добавлять новые записи в таблицу (INSERT);
· изменять данные в таблицах (UPDATE);
· изменять или вставлять данные (MERGE);
· удалять данные (DELETE).
Команды управления транзакциями позволяют управлять изменениями, сделанные DML командами, другими словами подтвердить или отменить изменение:
· применить изменения, т.е. совершить транзакцию (COMMIT);
· отменить последние изменения, т.е. сделать откат базы данных с точки сохранения (ROLLBACK);
· сохранить текущее состояние базы данных (SAVEPOINT).