Year End Sale: Get Upto 40% OFF on Live Training! Offer Ending in
D
H
M
S
Get Now
What are the 5 Basic SQL Commands? (DDL, DML, DCL, TCL, DQL)

What are the 5 Basic SQL Commands? (DDL, DML, DCL, TCL, DQL)

01 Dec 2024
Beginner
15.4K Views
23 min read
Learn with an interactive course and practical hands-on labs

SQL Server Course

SQL Commands

SQL commands are a set of instructions used to interact with the database like SQL Server, MySql, Oracle, etc. SQL commands are responsible for creating and doing all the manipulation on the database. These are also responsible for giving/taking out access rights to a particular database. In short SQL commands, also known as SQL statements, provide us with complete control over the data in our database. Cool, right? SQL can help you manage user accounts, work with sales data, and run reports more efficiently.

So in this SQL Server Tutorial, We gonna explore basic SQL Commands including what are the 5 basic SQL commands, their syntaxes, and examples too.

Read More: SQL Server Interview Questions and Answers

SQL Commands Category/Types of SQL Commands

We have different SQL commands for different purposes. We can group Sql Commands into five major categories depending on their functionality. Types of SQL Commands are as follows:

SQL Commands Category/Types of SQL Commands

1. Data Definition Language (DDL)

These SQL commands are used for creating a table, deleting a table, altering a table, and truncating the table. All the commands of DDL are auto-committed i.e. it permanently saves all the changes in the database.

In this category, we have six commands:

CommandDescriptionExample
CREATEUsed to create new database objects such as tables, databases, or indexes.CREATE TABLE Students ( ID INT, Name VARCHAR(50), Age INT );
ALTERModifies the structure of an existing table, such as adding, deleting, or modifying columns.ALTER TABLE Students ADD Email VARCHAR(100);
DROPDeletes an existing database object such as a table or database.DROP TABLE Students;
TRUNCATERemoves all records from a table without logging individual row deletions, but keeps the table structure.TRUNCATE TABLE Students;
RENAMERenames a database object such as a table or column.RENAME TABLE Students TO Learners;
COMMENTAdds comments or annotations to the database objects.COMMENT ON TABLE Students IS 'Table for storing student information';

  1. CREATE: It is used to create a new table in the database. Here, you need to specify the name of the table and the name of each column in the table.

    Syntax

    
    CREATE TABLE table_name (
      column_1 datatype, 
      column_2 datatype, 
      column_3 datatype
    );  

    Example

    
    CREATE TABLE Employee
    (
    EmployeeID int,
    EmployeeName varchar(200),
    PhoneNumber int,
    Email varchar(255),
    City varchar(255),
    Country varchar(255)
    );
    
  2. ALTER: It changes the structure of a table by adding, deleting, or modifying columns in an existing table.

    To add a column

    Syntax

    
    ALTER TABLE TableName
    ADD ColumnName Datatype;
    

    To delete a column

    Syntax

    
    ALTER TABLE TableName
    DROP COLUMN ColumnName;
    

    To modify a column

    Syntax

    
    ALTER TABLE TableName
    ALTER COLUMN ColumnName Datatype;
    

    Example

    
    --ADD Column DOB:
    ALTER TABLE Employee
    ADD DOB varchar(10);
     
    --DROP Column DOB:
    ALTER TABLE Employee
    DROP COLUMN DOB;
    
    --Add a column DOB and change the data type to Date.
    ALTER TABLE Employee
    ADD DOB year;
     
    ALTER TABLE Employee
    ALTER DOB date;
    
  3. DROP: This command is used to drop an existing table or a database.

    Syntax

    
    DROP DATABASE DatabaseName;
    

    Example

    
    DROP DATABASE Employee;
    

    Syntax

    
    DROP TABLE TableName;
    

    Example

    
    DROP Table Employee;
    
  4. Read More: Drop all tables, stored procedures, views, and triggers

  5. TRUNCATE: This command deletes the information present in the table or all the rows from the table but does not delete the table.

    Syntax

    
    TRUNCATE TABLE TableName;
    

    Example

    
    TRUNCATE Table Employee;
    
  6. Note

    1. Only with DDL commands, do we need to write keywords (like table, procedure, view, index, function) with the syntax of the command.

    2. These commands are used to create/modify the structure of the database object.

Read More - Top DBMS Interview Questions and Answers

2. Data Manipulation Language (DML)

These SQL commands modify the database. The commands of DML are not auto-committed i.e. it can't permanently save all the changes in the database. They can be rolled back.

In this category, we have the following commands:

CommandDescriptionSyntax Example
INSERTAdds new rows of data into a table.INSERT INTO table_name (column1,column2) VALUES (value1, value2);
UPDATEModifies existing data in a table.UPDATE table_name SET column1 = value1 WHERE condition;
DELETERemoves existing data from a table based on a condition.DELETE FROM table_name WHERE condition;
SELECTRetrieves data from one or more tables.SELECT column1, column2 FROM table_name WHERE condition;
MERGECombines INSERT and UPDATE operations based on a condition (supported in some SQL implementations).MERGE INTO table_name USING source_table ON condition WHEN MATCHED THEN UPDATE WHEN NOT MATCHED THEN INSERT;

  1. INSERT: It is used to insert new records into the table or data into the row of a table.

    Syntax

    
    INSERT INTO TableName (Column1, Column2, Column3, ...,ColumnN)
    VALUES (value1, value2, value, ...);
    or
    INSERT INTO TableName
    VALUES (Value1, Value2, Value3, ...);
    

    Example

    
    INSERT INTO Employee(EmployeeID, EmployeeName, PhoneNumber, Email, City, Country)
    VALUES ('01', 'Sourav', '9921321789', 'House No 12', 'Jharkhand', 'India');
     
    INSERT INTO Employee
    VALUES ('01', 'Sourav', '9921321789', 'House No 12', 'Jharkhand', 'India');
    
  2. Read More: How to insert values to identity column in SQL Server

  3. UPDATE: This command is used to edit rows or modify the records already present in the table.

    Syntax

    
    UPDATE TableName
    SET Column1 = Value1, Column2 = Value2, ...
    WHERE Condition;
    

    Example

    
    UPDATE Employee
    SET EmployeeNamw = 'Surabhi', City= 'Mumbai'
    WHERE EmployeeID = 7;
    
  4. DELETE: It is used to remove one or more rows from a table.

    Syntax

    
    DELETE FROM TableName WHERE Condition;
    

    Example

    
    DELETE FROM Employee
    WHERE EmployeeName='Devanshi';
    

Read More:

3. Data Query Language (DQL)

This SQL command is used to fetch/retrieve data from database tables.

CommandDescriptionExample
SELECTUsed to query and retrieve data from one or more tables.SELECT * FROM Students;
SELECT DISTINCTRetrieves unique values from a column, avoiding duplicates.SELECT DISTINCT Department FROM Employees;
WHEREFilters rows based on specified conditions.SELECT * FROM Students WHERE Age > 18;
ORDER BYSorts the result set based on one or more columns in ascending or descending order.SELECT * FROM Employees ORDER BY Salary DESC
GROUP BYGroup rows share a property and perform aggregate functions on each group.SELECT Department, COUNT(*) FROM Employees GROUP BY Department;
HAVINGFilters grouped data based on conditions, used with GROUP BY.SELECT Department, AVG(Salary) FROM Employees GROUP BY Department HAVING AVG(Salary) > 50000;
LIMITRestricts the number of rows returned in the result.SELECT * FROM Products LIMIT 10;
JOINCombines rows from two or more tables based on a related column.SELECT Orders.OrderID, Customers.Name FROM Orders JOIN Customers ON Orders.CustomerID = Customers.ID

1. SELECT

The SELECT command is used to retrieve data from a database. You can fetch all columns or specific columns from one or more tables.

SELECT column1, column2, ... FROM table_name;

2. SELECT DISTINCT

Retrieves unique values from a column or a combination of columns, eliminating duplicate entries.

SELECT DISTINCT column1, column2, ... FROM table_name;

3. WHERE

Used to filter rows based on specified conditions. Only rows that satisfy the condition(s) are included in the result.

SELECT column1, column2, ... FROM table_name WHERE condition;

4. ORDER BY

Sorts the result set based on one or more columns in ascending (ASC) or descending (DESC) order.

SELECT column1, column2, ... FROM table_name ORDER BY column1 [ASC|DESC];

5. GROUP BY

Groups rows sharing the same values in specified columns and allows aggregate functions (e.g., SUM, AVG, COUNT) to be applied to each group.

SELECT column1, aggregate_function(column2) FROM table_name GROUP BY column1;

6. HAVING

Filters grouped data based on specified conditions, often used with GROUP BY.

SELECT column1, aggregate_function(column2) FROM table_name GROUP BY column1 HAVING condition;

7. LIMIT

Restricts the number of rows returned by a query.

SELECT column1, column2, ... FROM table_name LIMIT number_of_rows;

8. JOIN

Combines rows from two or more tables based on a related column, enabling retrieval of data across multiple tables.

SELECT table1.column1, table2.column2, ... FROM table1 JOIN table2 ON table1.column_name = table2.column_name;

4. Transaction Control Language (TCL)

These SQL commands are used to handle changes affecting the data in the database. We use these commands within the transaction or to make a stable point during changes in the database at which we can roll back the database state if required.

CommandDescriptionExample
COMMITSaves all the transactions permanently to the database.COMMIT;
ROLLBACKUndoes transactions that are not yet saved to the database.ROLLBACK;
SAVEPOINTSets a point within a transaction to which you can later roll back.SAVEPOINT savepoint_name;
RELEASE SAVEPOINTDeletes a savepoint, making it unavailable for future rollbacks.RELEASE SAVEPOINT savepoint_name;
SET TRANSACTIONDefines a transaction's characteristics, such as isolation level or read/write.SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;

In this category, we have three main commands:

  1. SAVEPOINT: This command is used to save a transaction temporarily. You can roll the transaction back to a certain point without rolling back the entire transaction.

    Syntax

    
    SAVEPOINT SAVEPOINTNAME;
    

    Example

    
    INSERT INTO Employee VALUES(06, 'Pradnya');
    SAVEPOINT S2;
    
  2. ROLLBACK: This command restores the database to the last committed state.

    Syntax

    
    ROLLBACK;
    

    Example

    
    ROLLBACK TO S2;
    SELECT * FROM Employee;
    
  3. COMMIT: It saves all the transactions to the database.

    Syntax

    
    COMMIT;
    

    Example

    
    INSERT INTO Employee VALUES(05, 'Sakshi');
    COMMIT;
    

5. Data Control Language (DCL)

These SQL commands are used to implement security on database objects like tables, views, stored procedures, etc. It consists of commands which deal with the user permissions and controls of the database system.

In this category, we have two main commands:

  1. GRANT: This command permits specific users on specific database objects like table, view, etc.

    Syntax

    
    GRANT PrivilegeName
    ON ObjectName
    TO {UserName |PUBLIC |RoleName}
    [WITH GRANT OPTION];
    

    Here,

    • PrivilegeName: It is the privilege/right/access granted to the user.
    • ObjectName: Name of a database object like TABLE/VIEW/STORED PROC.
    • Username: Name of the user who is given the access/rights/privileges.
    • PUBLIC: To grant access rights to all users.
    • RoleName: The name of a set of privileges grouped.
    • WITH GRANT OPTION: To give the user access to grant other users with rights.

    Example

    GRANT SELECT ON Employee TO user1;
    
  2. REVOKE: This command is used to withdraw the user’s access privileges given by the GRANT command.

    Syntax

    REVOKE PrivilegeName 
    ON ObjectName 
    FROM {UserName |PUBLIC |RoleName}
    

    Example

    REVOKE SELECT ON Employee_Info TO user1; 
    
Summary

SQL (Structured Query Language) instructions control and manipulate data in relational databases. The key commands are SELECT to retrieve data, INSERT INTO to add records, UPDATE to modify existing data and DELETE to remove records. Additionally, CREATE TABLE and ALTER TABLE assist build the database, whereas JOIN aggregates data from various tables. These instructions transform SQL into a formidable data management and organization tool. If you want to gain a practical understanding, you can enroll in our SQL Server Course.

Do you Know?

.NET is gaining popularity day by day, especially after the release of .NET 8. .NET 8 is not only a framework version but much more than that. It redefines the way software applications are built and deployed, enabling developers to meet the evolving demands of modern computing.

Therefore, if you want to upskill yourselves and stand out from others consider our following training programs on .NET.

FAQs

DELETE removes specific rows from a table and can be used with a WHERE clause, whereas TRUNCATE removes all rows in a table but is faster and doesn't log individual row deletions. 

 You can use JOIN operations, such as INNER JOIN, LEFT JOIN, or RIGHT JOIN, to combine rows from multiple tables based on related columns. 

 The GROUP BY clause groups rows that have the same values in specified columns, often used with aggregate functions like COUNT(), SUM(), or AVG() to perform calculations on each group. 

Take our Sqlserver skill challenge to evaluate yourself!

In less than 5 minutes, with our skill challenge, you can identify your knowledge gaps and strengths in a given skill.

GET FREE CHALLENGE

Share Article
About Author
Shailendra Chauhan (Microsoft MVP, Founder & CEO at ScholarHat)

Shailendra Chauhan, Founder and CEO of ScholarHat by DotNetTricks, is a renowned expert in System Design, Software Architecture, Azure Cloud, .NET, Angular, React, Node.js, Microservices, DevOps, and Cross-Platform Mobile App Development. His skill set extends into emerging fields like Data Science, Python, Azure AI/ML, and Generative AI, making him a well-rounded expert who bridges traditional development frameworks with cutting-edge advancements. Recognized as a Microsoft Most Valuable Professional (MVP) for an impressive 9 consecutive years (2016–2024), he has consistently demonstrated excellence in delivering impactful solutions and inspiring learners.

Shailendra’s unique, hands-on training programs and bestselling books have empowered thousands of professionals to excel in their careers and crack tough interviews. A visionary leader, he continues to revolutionize technology education with his innovative approach.
Accept cookies & close this