DDL – Data Definition Language: statements used to define the database
structure or schema. Some examples:
- CREATE – to create objects in the database
- ALTER – alters the structure of the database
- DROP – delete objects from the database
- TRUNCATE – remove all records from a table, including
all spaces allocated for the records are removed
- COMMENT – add comments to the data dictionary
- RENAME – rename an object
They are called Data Definition since they are used for defining
the data. That is the structure of the data is known through these DDL
commands.
DML – Data Manipulation Language: statements used for managing data
within schema objects. Some examples:
- SELECT – retrieve data from the a database
- INSERT – insert data into a table
- UPDATE – updates existing data within a table
- DELETE – deletes all records from a table, the space for
the records remain
- MERGE – UPSERT operation (insert or update)
- CALL – call a PL/SQL or Java subprogram
- EXPLAIN PLAN – explain access path to data
- LOCK TABLE – control concurrency
DML commands are used for data manipulation. Some of the DML
commands
insert,select,update,delete etc. Even though select is not exactly a DML
language command oracle still recommends you to consider SELECT as an DML
command.
DML are not auto-commit. i.e. you can roll-back the operations,
but DDL are auto-commit
DCL – Data Control Language. Some examples:
- GRANT – gives user’s access privileges to database
- REVOKE – withdraw access privileges given with the
GRANT command
Data Control Language is used for the control of data. That is a
user can access any data based on the priveleges given to him. This is done
through DATA CONTROL
It is used to create roles, permissions, and referential integrity
as well it is used to control access to database by securing it.
TCL – Transaction Control: statements used to manage the changes made
by DML statements. It allows statements to be grouped together into logical
transactions.
- COMMIT – save work done
- SAVEPOINT – identify a point in a transaction to which
you can later roll back
- ROLLBACK – restore database to original since the last
COMMIT
- SET TRANSACTION – Change transaction options like
isolation level and what rollback segment to use
For revoking the transactions and to make the data commit to the
database we use TCL.
Once we commit we cannot rollback. Once we rollback we cannot commit.
Commit and Rollback are generally used to commit or revoke the
transactions that are with regard to DML commands.