Insert Query

Insert query in SQL is used to insert data into tables. There is a standard syntax that must be followed while inserting data in any table. The data to be inserted must have the same datatype as the respective column datatype of a particular table. It is one of the most important statements of DML statements. The data inserted using the transaction statement can be rolled back. But data inserted without transaction cant be rolled back. It commits the data insertion operation of insert query.

Insert into statement is used to add a new record or row in a table as well as we can insert data from one table to another table, conditional data insertion is also achieved. Apart from these we can insert data into tables from views or join queries.

Insert Query


We can insert data with the below ways

Insert Query-Single row insertion


the syntax given below, to insert single-row data. In which Insert into statement followed tablename and bracket contains a list of columns and insert values will be provided values keyword in the bracket it contains a list of values to be inserted. Always remember, the list of column names must match the list of values we are inserting. The column name and their consecutive values should match or be appropriate to each other.

For example, we have table studentdt and in that studentId column if we insert the department id value then it will lead to wrong data insertion.

In addition to this, the mandatory data columns which have a primary key or not null constraints must be included in the select list otherwise it will raise a constraint violation error.

create table studentsdt
id int primary key,
name varchar(200),
dept varchar(300) not null

create table departmemtsdt
deptid int,


Insert INTO tablename(column1,column2,column..) values(value1,value2,valuen...)

insert into studentsdt (id,name,dept) vaules(1,'rakesh','Arts')
insert into studentsdt (id,name) vaules(1,'raman')
insert into departmemtsdt (deptname) values ('Arts')


In the above example, we have created the studentsdt table which contains id,name, and dept columns. the Id column is set to the primary key and dept column is set to not null. The first example will insert data in a table with no error. While the Second example won’t insert data in the table because we have excluded the dept column from the insert list and the column has a not null constraint. This means there must be data in the dept column and we are trying to insert a null value in that column.

In example Three we have inserted department name data in the department table. We have given only one column name in INSET INTO statement. Insert query, This example will not throw any error because we haven’t defined any constraints on columns of the department table.


Insert Query-Insert multiple rows


You can insert multiple rows in a table in a single insert query. The list of columns and their respective values must match in insert query. You can insert multiple rows using select statements and using tables in insert query.

Insert into  tablename
select value1,value2,valuen union all
select value1,value2,valuen union all

Insert into  tablename

select vaule1,value2,valuen..
from tablename

insert into  departmemtsdt

select '1','arts' union all
select '2','science' union all
select '3','IT' union all
select '4','devops' 

insert into  departmemtsdt (id)

select '5' union all
select '6' union all
select '7' union all
select '8'

3) insert into  departmemtsdt

select *
from departmentmaster


insert into  departmemtsdt (id)

select departmentid
from departmentmaster

In the First example, we are inserting multiple rows into departmemtsdt table. The union all operator is used to do a union of all select statements.
In the Second example, we are inserting data into only id column departmemtsdt table. To insert data into id column we have specified only ID column to insert into the column list.
In the Third example, We are inserting data from departmentmaster table to departmemtsdt table. Both tables have the same column numbers.
In the Forth example, We are inserting data from column departmentid of departmentmaster table to id column of departmemtsdt table.

The Benefits and Drawbacks of INSERT Queries in SQL

The utilization of INSERT query  within SQL plays a pivotal role in the process of incorporating fresh data entries into a database table. This practice brings forth an array of advantageous features as well as certain limitations that collectively influence its efficacy and suitability within the domain of database management.


Streamlined Data Input: INSERT queries offer an expedient approach to inputting data, particularly when dealing with extensive datasets. This capability allows for the simultaneous addition of multiple records, thereby alleviating the need for manual entry.

Automation Potential: Through the harmonious integration of programming languages or scripts, INSERT queries can be automated. This proves invaluable for facilitating routine data updates, such as those involving daily logs or sensor-generated data.

Safeguarding Data Integrity: By adhering to the schema-defined rules of data integrity, INSERT queries ensure that the integrity of the data is maintained. This stringent adherence guarantees that the entered data aligns with designated data types, lengths, and constraints, contributing to sustained consistency and precision.

Adaptability in Data Insertion: INSERT query exhibits the capacity to accommodate specific data insertion requirements. This adaptability is particularly advantageous for partial insertions where only select columns necessitate population. This flexibility aids in scenarios where default values or gradual data augmentation is necessary.

Optimized Performance: In certain scenarios, the application of bulk INSERT methods, such as the employment of the INSERT INTO … VALUES (…), (…), … structure, can culminate in enhanced operational speed compared to executing individual INSERT statements for each data entry. This expedited approach to inserting numerous records proves to be notably advantageous in situations requiring mass data insertion.


Security Vulnerabilities: Care must be exercised during the construction of INSERT query to prevent susceptibility to SQL injection attacks. Comprehensive input validation and the integration of prepared statements are fundamental prerequisites to counteracting such potential vulnerabilities.

Inherent Complexity: The formulation of intricate INSERT query, particularly those encompassing multiple values or derived data, can be intricate. This complexity is magnified when grappling with diverse data types and formats.

Risk of Data Duplication: If not meticulously overseen, the deployment of INSERT query can inadvertently give rise to data duplication. Rigorous vigilance is essential to ensure that the entry of duplicate records is avoided.

Auto-increment Implications: Tables endowed with auto-increment primary keys are susceptible to conflicts when confronted with concurrent INSERT operations. Such scenarios might lead to duplicated or omitted primary key values.

Limited Error Management: INSERT query might encounter failures due to a myriad of factors, including constraint violations or connectivity disruptions. Skillful management of these errors necessitates meticulous error checking and proficient handling protocols.

Transaction Complexity: The maintenance of transactional consistency throughout multiple interrelated table insertions demands intricate management. Failures within a portion of the transaction could warrant the complete rollback of the operation.

Performance Ramifications: Frequent insertions, especially within high-traffic tables, possess the potential to impact database performance, engendering diminished response times. The judicious implementation of indexing mechanisms and routine data maintenance is requisite to mitigate this concern.


Similar Reads

What is join?

What are commands in SQL?

What is index?

What is subquery?

What is Select into and How to Use It?

What is SELECT INTO Statement

What is SELECT Statement