SQLite Insert Statement
The INSERT INTO statement in SQLite is used to add new data rows to a table in the database.
Syntax
The INSERT INTO statement has two basic syntaxes, as shown below:
INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)]
VALUES (value1, value2, value3,...valueN);
Here, column1, column2,...columnN are the names of the columns in the table where data will be inserted.
If you want to add values for all columns in the table, you do not need to specify the column names in the SQLite query. However, ensure that the order of the values matches the order of the columns in the table. The INSERT INTO syntax in SQLite is as follows:
INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);
Example
Suppose you have created a COMPANY table in testDB.db as shown below:
sqlite> CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
Now, the following statements will create six records in the COMPANY table:
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (1, 'Paul', 32, 'California', 20000.00 );
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (2, 'Allen', 25, 'Texas', 15000.00 );
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (5, 'David', 27, 'Texas', 85000.00 );
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (6, 'Kim', 22, 'South-Hall', 45000.00 );
You can also create a record in the COMPANY table using the second syntax, as shown below:
INSERT INTO COMPANY VALUES (7, 'James', 24, 'Houston', 10000.00 );
All the above statements will create the following records in the COMPANY table. The next chapter will teach you how to display all these records from a table.
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
Populating One Table with Another
You can populate data into one table from another by using a select statement on a table with a set of fields. Here is the syntax:
``` INSERT INTO first_table_name [(column1, column2, ... columnN)] SELECT column1, column2, ... columnN FROM second_table_name [WHERE condition];
You can skip the above statement for now and learn about the SELECT and WHERE clauses in the later sections.