What are the difference between DDL, DML and DCL commands?
DDL
Data Definition Language statements are used to define the database structure or schema:
-  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 
 
DML
Data Manipulation Language statements are used for managing data within schema objects:
-  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 
 
DCL
Data Control Language statements:
 
TCL
Transaction Control statements are 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