Showing posts with label SQL. Show all posts
Showing posts with label SQL. Show all posts

Tuesday 16 September 2014

Difference between DDL, DML and DCL Commands



DDL (Data Definition Language)
Data Definition Language (DDL) 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)
Data Manipulation Language (DML) 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)
Data Control Language (DCL) statement.
  • GRANT - gives user's access privileges to database
  • DENY - to disallow specified users from performing specified tasks.
  • REVOKE - withdraw access privileges given with the GRANT command
TCL (Transaction Control Language)
Transaction Control (TCL) 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.


I hope this article helped you. Your suggestions/feedback are most welcome.

Keep learning... Have a great day!!!




Monday 15 September 2014

Difference Between TRUNCATE, DELETE and DROP commands


1.DELETE
  • The DELETE command is used to remove rows from a table. 
  • A WHERE clause can be used to  remove some rows. 
  • If no WHERE condition is specified, all rows will be removed. 
  • After performing a DELETE operation you need to COMMIT or ROLLBACK the transaction to make the change permanent or to undo it.
  • Note that this operation will cause all DELETE triggers on the table to fire.
 
2.TRUNCATE
  • TRUNCATE removes all rows from a table. 
  • No triggers will be fired. 
  • Not able to perform ROLLBACK operation.
  • TRUNCATE is faster then DELETE and doesn't use as much undo space as a DELETE.

3.DROP
  • The DROP command removes a table from the database.
  •  All the tables' rows, indexes and privileges will also be removed. 
  • No DML triggers will be fired. 
  • Not able to perform ROLLBACK operation.

SOME MORE DIFFERENCES
  • DROP and TRUNCATE are DDL commands, whereas DELETE is a DML command. 
  • DELETE operations can be ROLLBACK (undone), while DROP and TRUNCATE operations cannot be ROLLBACK.
 

I hope this article helped you. Your suggestions/feedback are most welcome.

Keep learning... Have a great day!!!