0% found this document useful (0 votes)
69 views6 pages

DDL DML DCL TCL and DQL

The document provides an overview of SQL commands, categorizing them into five types: DDL (Data Definition Language), DML (Data Manipulation Language), DCL (Data Control Language), TCL (Transaction Control Language), and DQL (Data Query Language). Each category is explained with examples of commands, such as CREATE, INSERT, GRANT, and COMMIT, detailing their purposes and syntax. The document serves as a guide for understanding how to interact with databases using SQL commands.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
69 views6 pages

DDL DML DCL TCL and DQL

The document provides an overview of SQL commands, categorizing them into five types: DDL (Data Definition Language), DML (Data Manipulation Language), DCL (Data Control Language), TCL (Transaction Control Language), and DQL (Data Query Language). Each category is explained with examples of commands, such as CREATE, INSERT, GRANT, and COMMIT, detailing their purposes and syntax. The document serves as a guide for understanding how to interact with databases using SQL commands.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

DDL, DML, DCL, TCL, and DQL

SQL Commands
SQL commands are instructions. It is used to communicate with the database.
It is also used to perform specific tasks, functions, and queries of data.

SQL can perform various tasks like create a table, add data to tables, drop the
table, modify the table, and set permission for users.

Types of SQL Commands


There are five types of SQL commands: DDL, DML, DCL, TCL, and DQL.

1. Data Definition Language (DDL)


o DDL changes the structure of the table like creating a table, dropping a table,
altering a table, etc.

o All the command of DDL are auto-committed that means it permanently save
all the changes in the database.

Here are some commands that come under DDL:


o CREATE

o ALTER

o DROP

o TRUNCATE

a. CREATE It is used to create a new table in the database.

Syntax:

CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);

Example:

CREATE TABLE EMPLOYEE(Name VARCHAR2(20), Email VARCHAR2(100), DOB DATE);

b. DROP: It is used to delete both the structure and record stored in the table.

Example

DROP TABLE EMPLOYEE;

c. ALTER: It is used to alter the structure of the database. This change could be
either to modify the characteristics of an existing attribute or probably to add a new
attribute.

Syntax:

To add a new column in the table

ALTER TABLE table_name ADD column_name COLUMN-definition;

To modify existing column in the table:

ALTER TABLE MODIFY(COLUMN DEFINITION....);

TRUNCATE: It is used to delete all the rows from the table and free the space
containing the table.

Syntax:

TRUNCATE TABLE table_name;

Example:

TRUNCATE TABLE EMPLOYEE;


2. Data Manipulation Language
o DML commands are used to modify the database. It is responsible for all form
of changes in the database.

o The command of DML is not auto-committed that means it can't permanently


save all the changes in the database. They can be rollback.

Here are some commands that come under DML:

o INSERT

o UPDATE

o DELETE

a. INSERT: The INSERT statement is a SQL query. It is used to insert data into the
row of a table.

Syntax:

INSERT INTO TABLE_NAME


(col1, col2, col3,.... col N)
VALUES (value1, value2, value3, .... valueN);

b. UPDATE: This command is used to update or modify the value of a column in the
table.

Syntax:

UPDATE table_name SET [column_name1= value1,...column_nameN = valueN]

[WHERE CONDITION]

c. DELETE: It is used to remove one or more row from a table.

Syntax:

DELETE FROM table_name [WHERE condition];

3. Data Control Language


DCL commands are used to grant and take back authority from any database user.
Here are some commands that come under DCL:

To Perform DCL we need to have Multiple Users in db

Ex:
CREATE LOGIN test WITH PASSWORD ='6646'

CREATE user test FOR LOGIN test

o Grant

o Revoke

a. Grant: It is used to give user access privileges to a database.

GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;


GRANT SELECT ON OBJECT::TBL_USERDETAILS TO test

b. Revoke: It is used to take back permissions from the user.

Example

REVOKE SELECT, UPDATE ON MY_TABLE FROM USER1, USER2;

GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;

revoke select on object::TBL_USERDETAILS from test

SELECT SELECT statements on the table.

INSERT INSERT statements on the table.

UPDATE UPDATE statements on the table.

DELETE DELETE statements on the table.

ALTER Ability to perform ALTER TABLE statements to change the table definition.

REFERENCES Ability to create a constraint that refers to the table.

ALL SELECT INSERT, UPDATE, DELETE, and REFERENCES.

4. Transaction Control Language


TCL commands can only use with DML commands like INSERT, DELETE and UPDATE
only.
These operations are automatically committed in the database that's why they
cannot be used while creating tables or dropping them.

Here are some commands that come under TCL:

BEGIN TRY

BEGIN TRANSACTION

COMMIT TRANSACTION

END TRY

BEGIN CATCH

ROLLBACK TRANSACTION

END CATCH

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

a. Commit: Commit command is used to save all the transactions to the database.

Syntax:

COMMIT;

Example:

DELETE FROM CUSTOMERS


WHERE AGE = 25;
COMMIT;

b. Rollback: Rollback command is used to undo transactions that have not already
been saved to the database.

Syntax:

ROLLBACK;

Example:

DELETE FROM CUSTOMERS


WHERE AGE = 25;
ROLLBACK;
c. SAVEPOINT: It is used to roll the transaction back to a certain point without
rolling back the entire transaction.

CREATE TABLE TestTable


(
ID INT NOT NULL,
Value INT NOT NULL,
PRIMARY KEY (ID)
)

BEGIN TRANSACTION

INSERT INTO TestTable( ID, Value )


VALUES ( 3, N'30')
-- this will create a savepoint after the first INSERT
SAVE TRANSACTION FirstInsert

INSERT INTO TestTable( ID, Value )


VALUES ( 4, N'40')

SAVE TRANSACTION SecondInsert


-- this will rollback to the savepoint right after the first INSERT was
done
ROLLBACK TRANSACTION FirstInsert

-- this will commit the transaction leaving just the first INSERT
COMMIT

SELECT * FROM TestTable

5. Data Query Language


DQL is used to fetch the data from the database.

It uses only one command:

SELECT

a. SELECT: This is the same as the projection operation of relational algebra. It is


used to select the attribute based on the condition described by WHERE clause.

You might also like