К DML инструкциям в Oracle относятся команды вставки, обновления, удаления, чтения, изменения способа работы сервера при обращении к данным.
Перечислим основные DML инструкции в таблице:
Таблица
Инструкция
Назначение
ALTER SESSION
изменяет функциональные характеристики текущего сеанса связи с БД (+NLS) многие из параметров определены в файле инициализации INTT.DBA или SPFILE
ANALYZE
собирает или удаляет статистическую информацию об объекте БД, проверяет структуру объекта или идентифицирует переменные и сцепленные строки таблицы (кластера).
DELETE
удаляет строки из таблицы, представления или моментальной копии
EXPAIN PLAN
создаёт пояснение для плана использования (исполнения) команды SQL.
INSERT INTO
вставка строки данных в таблицу или представление
MERGE INTO
выбирает строки таблицы для обновления или вставки в другую таблицу(с Oracle9i Release 2) (позволяет избегать многократного использования INSERT, UPDATE)
SAVE POINT точка сохранения
определяет точку сохранения транзакции, до которой можно было выполнить откат при помощи команды ROLLBACK
SELECT
извлекаем данные из таблиц, представлений и момент копий
SET CONSTRAINT
задаёт на уровне транзакций, будут ли ограничения проверяться после каждой DML команды или только в конце транзакций
SET ROLE
включить или отключить роль для текущего сеанса
SET TRANSACTION
установить базовые характеристики транзакции
TRUNCATE
удаляет все строки из таблицы или кластера (не создаёт записей отката, выполняется быстро, аналог DELETE FROM)
UPDATE
изменяет значение, хранящегося в одном или нескольких столбцах данных в одной или нескольких таблицах, представлениях или моментальных копиях
В стандарте SQL описаны наиболее распространенные инструкции SELECT, INSERT INTO, UPDATE и DELETE, которые подробно рассмотрены далее.
Общие сведения о предложении SELECT. Все запросы на получение практически любого количества данных из одной или нескольких таблиц выполняются с помощью предложения SELECT. В общем случае результатом реализации предложения SELECT является другая таблица. К этой новой таблице может быть снова применена операция SELECT и т.д., т.е. такие операции могут быть вложены друг в друга.
Предложение SELECT может использоваться как:
самостоятельная команда на получение и вывод строк таблицы, сформированной из столбцов и строк одной или нескольких таблиц (представлений);
- элемент WHERE- или HAVING-условия ("вложенный запрос");
- фраза выбора в командах CREATE VIEW, DECLARE CURSOR или INSERT;
- средство присвоения глобальным переменным значений из строк сформированной таблицы (фраза INTO).
Инструкция SELECT – наиболее мощная из всех SQL-инструкций и, по сути, аналогична таким операторам реляционной алгебры как SELECTion, projection, join.
Инструкция SELECT состоит из шести предложений.
Предложения SELECT и FROM являются обязательными. Четыре остальных включаются в инструкцию только при необходимости. Ниже перечислены функции каждого из предложений.
В предложении SELECT указывается список столбцов, которые должны быть возвращены инструкцией SELECT. Возвращаемые столбцы могут содержать значения, извлекаемые из столбцов таблиц базы данных, или значения, вычисляемые во время выполнения запроса.
В предложении FROM указывается список таблиц, которые содержат элементы данных, извлекаемые запросом.
Предложение WHERE показывает, что в результаты запроса следует включать только некоторые строки. Для отбора строк, включаемых в результаты запроса, используется условие отбора.
Предложение GROUP BY позволяет создать итоговый запрос. Обычный запрос включает в результаты запроса по одной записи для каждой строки из таблицы. Итоговый запрос, напротив, вначале группирует строки базы данных по определенному признаку, а затем включает в результаты запроса одну итоговую строку для каждой группы.
Предложение having показывает, что в результаты запроса следует включать только некоторые из групп, созданных с помощью предложения GROUP BY. В этом предложении, как и в предложении WHERE, для отбора включаемых групп используется условие отбора.
Предложение order by сортирует результаты запроса на основании данных, содержащихся в одном или нескольких столбцах. Если это предложение не указано, результаты запроса не будут отсортированы.
Полный формат инструкции SELECT, применяемой в Oracle имеет вид: