What are the difference between DDL, DML and DCL commands?

What are the difference between DDL, DML and DCL commands?

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.

Source: From different sql experts from internet



  1. Posted July 2, 2010 at 12:51 am | Permalink

    good for the mind of people

  2. Posted June 2, 2013 at 3:06 am | Permalink

    Wow! After all I got a blog from where I can genuinely take helpful information concerning my study and knowledge.

  3. Posted June 23, 2013 at 5:14 pm | Permalink

    My spouse and I absolutely love your blog and find almost all of your post’s to be exactly what I’m looking for.
    Does one offer guest writers to write content for you personally?
    I wouldn’t mind publishing a post or elaborating on some of the subjects you write in relation to here. Again, awesome website!

  4. Posted July 12, 2013 at 10:22 pm | Permalink

    Hi, I think your website might be having browser compatibility issues.
    When I look at your blog site in Firefox, it looks
    fine but when opening in Internet Explorer, it has some
    overlapping. I just wanted to give you a quick heads up! Other then that, very good blog!

  5. Posted July 18, 2013 at 8:38 am | Permalink

    1 of the major variables that lead to substantial harm to
    our skin cells is exposure to ultraviolet radiation of the sun.

Post a Comment

Required fields are marked *

%d bloggers like this: