Говорят что вторым языком после Английского будущий программист должен знать SQL. SQL это язык структурированных запросов (Structural Query Language).
SQL необходим для создания, изменения и удаления данных в реляционных базах данных. Есть стандартный SQL, но - производители СУБД включают в него некоторые собственные наработки - так появились различные диалекты SQL (Transact, PL/SQL и другие).
Существует несколько блоков SQL: определения данных DDL, манипуляций данными DML, определения доступа к данным DCL, управления транзакциями TCL.
Иногда в тестах спрашивают про разницу между DDL, DML, DCL и TCL командами. Так в чем же она?
DDL - (Data Defenition Language) предложения для определения структуры базы данных или схемы.
Примеры:
CREATE - создает объекты базы данных (таблицы, представления и т.д.)
ALTER - изменяет структуру и объекты базы данных
DROP - удаляет объекты базы данных
TRUNCATE - удаляет все записи из таблицы
COMMENT - добавляет комментарии в словарь данных
RENAME - переименовывает объект (alter table <old_name> rename to <new_name>)
DML - (Data Manipulation Language) предложения для управления данными.
Примеры:
SELECT - возвращает данные из базы данных
INSERT - вставляет данные в таблицу
UPDATE - обновляет существующие данные в таблице
DELETE - удаляет все записи в таблице
MERGE - UPSERT операция (insert или update)
CALL - вызов подпрограммы PL/SQL или Java
EXPLAIN PLAN - предоставляет план запроса
LOCK TABLE - управление параллелизмом
DCL - Data Control Language.
Примеры:
GRANT - дает пользователю привилегии доступа к базе данных и ее объектам
REVOKE - забирает у пользователя привилегии данные командой GRANT
Или так:
GRANT EXECUTE ON хранимая процедура TO пользователь
REVOKE EXECUTE ON хранимая процедура FROM пользователь
TCL - (Transaction Control) предложения используемые для управления изменениями сделанными предложениями DML. Это позволяет объединять предложения DML в логические транзакции.
Примеры:
COMMIT - сохраняет изменения
SAVEPOINT - определяет точку транзакции до которой потом можно откатиться
ROLLBACK - восстанавливает базу данных на момент последней операции COMMIT, откатывает транзакцию
SET TRANSACTION - изменяет опции транзакции, такие как: уровень изоляции и какой сегмент отката использовать
Предложения DML автоматически не сохраняются, т.е. вы можете использовать откат транзакции, но результаты DDL предложений сохраняются автоматически.
Успехов.
No comments:
Post a Comment
А что вы думаете по этому поводу?