22
DecWhat are the 5 Basic SQL Commands? (DDL, DML, DCL, TCL, DQL)
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:
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:
Command | Description | Example |
CREATE | Used to create new database objects such as tables, databases, or indexes. | CREATE TABLE Students ( ID INT, Name VARCHAR(50), Age INT ); |
ALTER | Modifies the structure of an existing table, such as adding, deleting, or modifying columns. | ALTER TABLE Students ADD Email VARCHAR(100); |
DROP | Deletes an existing database object such as a table or database. | DROP TABLE Students; |
TRUNCATE | Removes all records from a table without logging individual row deletions, but keeps the table structure. | TRUNCATE TABLE Students; |
RENAME | Renames a database object such as a table or column. | RENAME TABLE Students TO Learners; |
COMMENT | Adds comments or annotations to the database objects. | COMMENT ON TABLE Students IS 'Table for storing student information'; |
- 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) );
- 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;
- 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;
- 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;
Only with DDL commands, do we need to write keywords (like table, procedure, view, index, function) with the syntax of the command.
These commands are used to create/modify the structure of the database object.
Read More: Drop all tables, stored procedures, views, and triggers
Note
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:
Command | Description | Syntax Example |
INSERT | Adds new rows of data into a table. | INSERT INTO table_name (column1,column2) VALUES (value1, value2); |
UPDATE | Modifies existing data in a table. | UPDATE table_name SET column1 = value1 WHERE condition; |
DELETE | Removes existing data from a table based on a condition. | DELETE FROM table_name WHERE condition; |
SELECT | Retrieves data from one or more tables. | SELECT column1, column2 FROM table_name WHERE condition; |
MERGE | Combines 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; |
- 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');
- 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;
- 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: How to insert values to identity column in SQL Server
Read More:
- Delete Duplicate Rows in SQL Server From a Table
- SQL Server Insert, Retrieve, Update, Delete Operations using Stored Procedures
3. Data Query Language (DQL)
This SQL command is used to fetch/retrieve data from database tables.
Command | Description | Example |
SELECT | Used to query and retrieve data from one or more tables. | SELECT * FROM Students; |
SELECT DISTINCT | Retrieves unique values from a column, avoiding duplicates. | SELECT DISTINCT Department FROM Employees; |
WHERE | Filters rows based on specified conditions. | SELECT * FROM Students WHERE Age > 18; |
ORDER BY | Sorts the result set based on one or more columns in ascending or descending order. | SELECT * FROM Employees ORDER BY Salary DESC |
GROUP BY | Group rows share a property and perform aggregate functions on each group. | SELECT Department, COUNT(*) FROM Employees GROUP BY Department; |
HAVING | Filters grouped data based on conditions, used with GROUP BY. | SELECT Department, AVG(Salary) FROM Employees GROUP BY Department HAVING AVG(Salary) > 50000; |
LIMIT | Restricts the number of rows returned in the result. | SELECT * FROM Products LIMIT 10; |
JOIN | Combines 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.
Command | Description | Example |
COMMIT | Saves all the transactions permanently to the database. | COMMIT; |
ROLLBACK | Undoes transactions that are not yet saved to the database. | ROLLBACK; |
SAVEPOINT | Sets a point within a transaction to which you can later roll back. | SAVEPOINT savepoint_name; |
RELEASE SAVEPOINT | Deletes a savepoint, making it unavailable for future rollbacks. | RELEASE SAVEPOINT savepoint_name; |
SET TRANSACTION | Defines a transaction's characteristics, such as isolation level or read/write. | SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; |
In this category, we have three main commands:
- 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;
- ROLLBACK: This command restores the database to the last committed state.
Syntax
ROLLBACK;
Example
ROLLBACK TO S2; SELECT * FROM Employee;
- 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:
- 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;
- 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.
- .NET Developer Training With Certification
- ASP.NET Core Certification Training
- ASP.NET Core Course
- .NET Solution Architect Certification Training
- Full-Stack .NET Developer Certification Training Program
- Advanced Full-Stack .NET Developer Certification Training
FAQs
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.