Skip to content
Related Articles
Open in App
Not now

Related Articles

Difference between DML and TCL

Improve Article
Save Article
  • Difficulty Level : Expert
  • Last Updated : 19 Nov, 2021
Improve Article
Save Article

Prerequisite – DDL, DML, TCL and DCL 
1. Data Manipulation Language (DML) : 
DML is used to manipulate data in the database. For example, insert, update and delete instructions in SQL

2. Transaction Control Language (TCL) : 
TCL deals with the transactions within the database. 

Difference between DML and TCL :  

S. no.CategoryDMLTCL
1.Full FormDML stands for Data Manipulation Language.TCL stands for Transaction Control Language.
2.DefinitionDML stands for Data Manipulation Language and is used to manipulate data in the database by performing insertion, updating and deletion operations.Transaction Control Language (TCL) consists of commands that deal with the transactions within databases. 
3.ClassificationData Modification Language is further classified into Procedural and Non-Procedural DML.Transaction Control Language doesn’t have any further classifications.
4.DBMS feature exhibitedIt exhibits the feature of easy maintenance (of files).It exhibits the feature of Atomicity.
5.Use in TransactionsDML cannot be used for database transactions.TCL is used for handling database transactions.
6.OrderDML statements are usually written before TCL statements in a Query.TCL statements are usually written after DML statements in a Query.
7.Use of Log filesIt does not use Log files.It uses log files to keep a record of all transactions.
8.CommandsFrequently used commands present in DML are: UPDATE, INSERT, MERGE, SELECT, DELETE, CALL, EXPLAIN PLAN, LOCK TABLE.Frequently used commands present in TCL are: COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION.
9.Handled byDML is handled by the Query Compiler and Query Optimizer part of the DBMS architecture.TCL is handled by the Transaction Manager and Recovery Manager.
10.LockingIt uses Locks for concurrency control.It does not use Locks.
11.WHERE clauseMost DML statements have WHERE clause to filter them.TCL does not need WHERE clause.
12.Data Access PathsDML can be used to explain access paths to data.TCL cannot explain data access paths.
13.Call a subprogramIt is used to call PL/SQL or Java subprogram.It is not used to call subprograms.
14.Merge operationWe can perform Merge operation using DML.TCL cannot perform Merge operations.
15.TriggerTriggers are fired after DML statements.TCL is not used for triggers.
16.ExampleExample of SQL query that finds the names of all instructors in the History department : 
SELECT name 
FROM instructor 
WHERE dept_name = ‘History’; 
We will use commit command to save the table record permanently. Incase we want to update the name Jolly to sherlock and save it permanently, we would use the following, 
SET NAME = ‘Sherlock’ 
WHERE NAME = ‘Jolly’; 


My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!