SQL INSERT INTO Statement


The INSERT INTO statement is used to insert new records in a table.
 INSERT INTO table-name
   [ ( list-of-column-names ) ] VALUES ( data-items );

 SQL> INSERT INTO student VALUES (
   2    '1', 'Jones', 'Allan', 2, '555-1234' );

It is possible to write the INSERT INTO statement in two ways:
 INSERT INTO table VALUES ( value1, value2, .... );

 INSERT INTO table ( col1, col2, col3, ... )
   VALUES ( value1, value2, .... );
The following empty table person was created by the previous CREATE TABLE statement:

person_id last_name first_name address city
         

Insert three persons into the table person:

 INSERT INTO person VALUES (1, 'Hansen', 'Ola', 'Timoteivn 10', 'Sandnes');
 INSERT INTO person VALUES (2, 'Svendson', 'Tove', 'Borgvn 23', 'Sandnes');
 INSERT INTO person VALUES (3, 'Pettersen', 'Kari', 'Storgt 20', 'Stavanger');

The table person now becomes the following:

person_id last_name first_name address city
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

The values of the respective tuple are the data items separated by commas. If new values are to be entered for certain attributes but not for all, the respective columns must be indicated explicitly; the remaining columns are filled with null values.



Demonstration
Below is an SQL test area from W3Schools, which uses the well-known Northwind sample database. The tables here are for read only because of the problem of embedding the scripts. For a fully working example, check this by using Chrome.

SQL Statement:

Edit the SQL statement and click     to see the result, or  

Result:
The Database includes:
The Database includes:

TablenameRecord
Customers91
Categories8
Employees10
OrderDetails518
Orders196
Products77
Shippers3
Suppliers29