
- DBMS - Home
- DBMS - Overview
- DBMS - Architecture
- DBMS - Data Models
- DBMS - Data Schemas
- DBMS - Data Independence
- DBMS - System Environment
- Centralized and Client/Server Architecture
- DBMS - Classification
- Relational Model
- DBMS - Codd's Rules
- DBMS - Relational Data Model
- DBMS - Relational Model Constraints
- DBMS - Relational Database Schemas
- DBMS - Handling Constraint Violations
- Entity Relationship Model
- DBMS - ER Model Basic Concepts
- DBMS - ER Diagram Representation
- Relationship Types and Relationship Sets
- DBMS - Weak Entity Types
- DBMS - Generalization, Aggregation
- DBMS - Drawing an ER Diagram
- DBMS - Enhanced ER Model
- Subclass, Superclass and Inheritance in EER
- Specialization and Generalization in Extended ER Model
- Data Abstraction and Knowledge Representation
- Relational Algebra
- DBMS - Relational Algebra
- Unary Relational Operation
- Set Theory Operations
- DBMS - Database Joins
- DBMS - Division Operation
- DBMS - ER to Relational Model
- Examples of Query in Relational Algebra
- Relational Calculus
- Tuple Relational Calculus
- Domain Relational Calculus
- Relational Database Design
- DBMS - Functional Dependency
- DBMS - Inference Rules
- DBMS - Minimal Cover
- Equivalence of Functional Dependency
- Finding Attribute Closure and Candidate Keys
- Relational Database Design
- DBMS - Keys
- Super keys and candidate keys
- DBMS - Foreign Key
- Finding Candidate Keys
- Normalization in Database Designing
- Database Normalization
- First Normal Form
- Second Normal Form
- Third Normal Form
- Boyce Codd Normal Form
- Difference Between 4NF and 5NF
- Structured Query Language
- Types of Languages in SQL
- Querying in SQL
- CRUD Operations in SQL
- Aggregation Function in SQL
- Join and Subquery in SQL
- Views in SQL
- Trigger and Schema Modification
- Storage and File Structure
- DBMS - Storage System
- DBMS - File Structure
- DBMS - Secondary Storage Devices
- DBMS - Buffer and Disk Blocks
- DBMS - Placing File Records on Disk
- DBMS - Ordered and Unordered Records
- Indexing and Hashing
- DBMS - Indexing
- DBMS - Single-Level Ordered Indexing
- DBMS - Multi-level Indexing
- Dynamic B- Tree and B+ Tree
- DBMS - Hashing
- Transaction and Concurrency
- DBMS - Transaction
- DBMS - Concurrency Control
- DBMS - Deadlock
- Backup and Recovery
- DBMS - Data Backup
- DBMS - Data Recovery
- DBMS Useful Resources
- DBMS - Quick Guide
- DBMS - Useful Resources
- DBMS - Discussion
DBMS - CRUD Operations in SQL
To work with a relational database, one must understand how to create a database with SQL and then learn how to insert, read, update, and delete the data, because these are the basic operations for transactions. CRUD stands for Create, Read, Update, and Delete. The four fundamental operations for managing data in a database. If databases were like a library, the CRUD operations would be the ways we can add new books, search for a specific title, edit details of an existing book, or remove one from the shelf.
Rea this chapter to get a good understanding of all the four CRUD operations. We will take a sample table and a set of examples to explain the CRUD operations in detail.
Sample Tables and Data
To understand the CRUD operations, we must take examples. We will use the following sample table throughout this chapter −
Here is the Customers table −
customer_id | first_name | last_name | phone | |
---|---|---|---|---|
1 | Amrita | Joshi | amrita.j@example.com | 123-456-7890 |
2 | Bimal | Saha | bimal.saha@example.com | 234-567-8901 |
3 | Chandan | Tudu | chandan.tudu@example.com | 345-678-9012 |
And, this is the Products table −
product_id | product_name | category | price | stock_quantity |
---|---|---|---|---|
101 | Laptop | Electronics | 1000.00 | 10 |
102 | Smartphone | Electronics | 800.00 | 20 |
103 | Office Chair | Furniture | 150.00 | 5 |
With these tables in place, let us move ahead and explore the CRUD operations!
The Create Operation (Inserting Data into Tables)
Creating data that involves adding new rows to a table using the INSERT statement. This is like putting new files into a cabinet or adding new contacts to our phone contacts.
Example: Adding a New Customer
Use the following SQL command to insert a new customer row in the existing Customers table −
INSERT INTO Customers (customer_id, first_name, last_name, email, phone) VALUES (4, 'Deb', 'Mallick', 'deb.mallick@example.com', '456-789-0123');
The Updated Customers Table would be as follows −
customer_id | first_name | last_name | phone | |
---|---|---|---|---|
1 | Amrita | Joshi | amrita.j@example.com | 123-456-7890 |
2 | Bimal | Saha | bimal.saha@example.com | 234-567-8901 |
3 | Chandan | Tudu | chandan.tudu@example.com | 345-678-9012 |
4 | Deb | Mallick | deb.mallick@example.com | 456-789-0123 |
Example: Adding a New Product
Use the following command to insert a new product row into the Products table −
INSERT INTO Products (product_id, product_name, category, price, stock_quantity) VALUES (104, 'Desk', 'Furniture', 250.00, 8);
The Updated Products Table would be as follows −
product_id | product_name | category | price | stock_quantity |
---|---|---|---|---|
101 | Laptop | Electronics | 1000.00 | 10 |
102 | Smartphone | Electronics | 800.00 | 20 |
103 | Office Chair | Furniture | 150.00 | 5 |
104 | Desk | Furniture | 250.00 | 8 |
The Read Operation (Fetching Data from Tables)
After creating we must read the data from the database. For that the 'R' in CRUD comes. This is done using the SELECT statement. It is like opening a book and searching through it to find the information we need.
Example: Fetch All Customers
Fetch all the data from the Customers table −
SELECT * FROM Customers;
It will get you the following output −
customer_id | first_name | last_name | phone | |
---|---|---|---|---|
1 | Amrita | Joshi | amrita.j@example.com | 123-456-7890 |
2 | Bimal | Saha | bimal.saha@example.com | 234-567-8901 |
3 | Chandan | Tudu | chandan.tudu@example.com | 345-678-9012 |
4 | Deb | Mallick | deb.mallick@example.com | 456-789-0123 |
Since we inserted a new record (Deb) in the Customers table, it is present there in the current table.
Example: Fetch Products with Stock Below 10
Now, let's use the WHERE clause to filter the data and fetch something specific −
SELECT product_name, stock_quantity FROM Products WHERE stock_quantity < 10;
This query will fetch all the products with their stock quantity less than 10 −
product_name | stock_quantity |
---|---|
Office Chair | 5 |
The Update Operation (Modifying the Existing Data)
Updating the data means changing the values in existing rows, for which we use the UPDATE command. Think of it as editing a contactâs phone number on our phone.
Example: Updating a Customerâs Email
You can use the following command to update a customer's email in the existing records −
UPDATE Customers SET email = 'amrita.newemail@example.com' WHERE customer_id = 1;
After executing the above query, the Updated Customers Table would look as follows −
customer_id | first_name | last_name | phone | |
---|---|---|---|---|
1 | Amrita | Joshi | amrita.newemail@example.com | 123-456-7890 |
2 | Bimal | Saha | bimal.saha@example.com | 234-567-8901 |
3 | Chandan | Tudu | chandan.tudu@example.com | 345-678-9012 |
4 | Deb | Mallick | deb.mallick@example.com | 456-789-0123 |
Example: Restocking a Product
Use the following query to update the Products table after restocking a product −
UPDATE Products SET stock_quantity = stock_quantity + 5 WHERE product_id = 103;
Now, the Updated Products Table would reflect the updated stock quantities −
product_id | product_name | category | price | stock_quantity |
---|---|---|---|---|
101 | Laptop | Electronics | 1000.00 | 10 |
102 | Smartphone | Electronics | 800.00 | 20 |
103 | Office Chair | Furniture | 150.00 | 10 |
104 | Desk | Furniture | 250.00 | 8 |
The stock of "Office Chair" has now been updated from 5 to 10.
The Delete Operation (Removing Data from Tables)
Deleting the data means removing existing rows from a table, which is done using the DELETE statement. Consider erasing a contact from our phone. We are deleting the record but not the whole table.
Example: Deleting a Customer
The following query shows how you can use the DELETE command to remove a customerâs record from the Customers table −
DELETE FROM Customers WHERE customer_id = 4;
With the above query, the Updated Customers Table would look as follows −
customer_id | first_name | last_name | phone | |
---|---|---|---|---|
1 | Amrita | Joshi | amrita.newemail@example.com | 123-456-7890 |
2 | Bimal | Saha | bimal.saha@example.com | 234-567-8901 |
3 | Chandan | Tudu | chandan.tudu@example.com | 345-678-9012 |
Notice that Debâs record has been removed.
Example: Removing a Product from Inventory
Use the following query to remove a product from the inventory −
DELETE FROM Products WHERE product_id = 104;
The Updated Products Table will now look as follows −
product_id | product_name | category | price | stock_quantity |
---|---|---|---|---|
101 | Laptop | Electronics | 1000.00 | 10 |
102 | Smartphone | Electronics | 800.00 | 20 |
103 | Office Chair | Furniture | 150.00 | 10 |
The "Desk" product is no longer in the inventory.
Why CRUD Operations Are Important
CRUD operations are the most basic operations for any database operator; they allow us to:
- Add new information (like customers or products)
- Retrieve specific details when needed
- Keep the data up to date
- Remove outdated or incorrect data
Without CRUD operations, we cannot update a database, in which case the data will be historical and of no use in real-time applications.
Conclusion
In this chapter, we explained in detail how to perform CRUD operations in SQL. We used examples to demonstrate how to apply the INSERT command for creating new records in a database and the SELECT command for reading and retrieving data. We also explained how to use the UPDATE command for modifying the existing records and the DELETE command for removing data from an existing table.
To conclude, CRUD operations provide us the power to handle complex data efficiently and make our databases relevant in real-world scenario.