SQLite – 6 – Inserting Data

Inserting data into an SQLite database is a fundamental operation in database management. It allows you to populate your tables with meaningful information and is a crucial step in building a functional database. In this discussion, we will explore the process of inserting data into an SQLite database, including the SQL commands and practical examples.

SQL Command for Inserting Data:

To insert data into an SQLite table, you use the INSERT INTO statement. This statement allows you to specify the table name and the values you want to insert into the table.

Syntax for Inserting Data:

INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);

In this syntax:

  • table_name is the name of the table where you want to insert data.
  • (column1, column2, ...) lists the columns in the table where you want to insert data.
  • VALUES (value1, value2, ...) specifies the values you want to insert into the respective columns.

Example:

Suppose you have a table called Employees with the following columns: EmployeeID, FirstName, LastName, Email, and Salary. You can insert data into this table as follows:

INSERT INTO Employees (EmployeeID, FirstName, LastName, Email, Salary) VALUES (1, 'John', 'Doe', 'johndoe@example.com', 55000.00);

In this example:

  • We specify the table name Employees.
  • We list the columns EmployeeID, FirstName, LastName, Email, and Salary.
  • We provide values for each column, such as 1 for EmployeeID, 'John' for FirstName, and so on.

This INSERT INTO statement inserts a new record into the Employees table with the specified values.

Inserting Multiple Rows:

You can insert multiple rows of data in a single INSERT INTO statement by providing multiple sets of values. For example:

INSERT INTO Employees (EmployeeID, FirstName, LastName, Email, Salary) VALUES (2, 'Jane', 'Smith', 'janesmith@example.com', 60000.00), (3, 'Bob', 'Johnson', 'bjohnson@example.com', 52000.00), (4, 'Mary', 'Brown', 'marybrown@example.com', 58000.00);

In this example, we insert three rows of data into the Employees table in a single statement.

Inserting Data from Another Table:

You can also insert data into a table from the result of a query on another table. This is known as an INSERT INTO SELECT statement. For example:

INSERT INTO NewEmployees (EmployeeID, FirstName, LastName, Email) SELECT EmployeeID, FirstName, LastName, Email FROM OldEmployees WHERE Salary > 55000.00;

In this example, we insert data into the NewEmployees table by selecting specific rows from the OldEmployees table where the Salary is greater than 55000.00.

Auto-Incrementing Primary Keys:

In SQLite, you can have an auto-incrementing primary key column, typically using the INTEGER data type. This allows SQLite to automatically assign a unique value to the primary key column for each new record. You don’t need to specify a value for the primary key when inserting data; it will be generated automatically.

Example with Auto-Incrementing Primary Key:

CREATE TABLE Students ( StudentID INTEGER PRIMARY KEY AUTOINCREMENT, FirstName TEXT, LastName TEXT, Age INTEGER ); INSERT INTO Students (FirstName, LastName, Age) VALUES ('Alice', 'Johnson', 20);

In this example, the StudentID column is set as the primary key with the AUTOINCREMENT keyword. When we insert data into the Students table, we omit the StudentID column, and SQLite will automatically assign a unique value to it.

Conclusion:

Inserting data into an SQLite database is a crucial aspect of database management. The INSERT INTO statement allows you to add records to your tables, and you can insert single or multiple rows in one statement. Additionally, you can insert data from one table into another using the INSERT INTO SELECT statement. Understanding these techniques is essential for populating and maintaining the data in your SQLite database, which is fundamental to the functionality of your applications and systems.