How to insert rows into a table in PostgreSQL
Inserting Rows into a PostgreSQL Table
The primary SQL command for inserting new rows is the INSERT
statement. The simplest form of this statement requires specifying the target table and the values to insert. Here is a basic example:
INSERT INTO table_name (column1, column2, column3)
VALUES (value1, 'value2', value3);
In this syntax, table_name
refers to the name of the table where data will be inserted. column1
, column2
, and column3
represent the columns within the table where the data is to be placed. value1
, 'value2'
, and value3
are the data values for these columns, respectively. Text values are enclosed in single quotes. Make sure to use single quotes for text values, and do not use quotes for numeric values.
Bulk Insert
PostgreSQL supports inserting multiple rows with a single INSERT
statement. This approach is efficient for adding large amounts of data in one operation:
INSERT INTO table_name (column1, column2, column3)
VALUES (value1_1, 'value1_2', value1_3),
(value2_1, 'value2_2', value2_3),
(value3_1, 'value3_2', value3_3);
This method reduces the number of commands sent to the database, helping to minimize network traffic and the overhead of processing multiple transactions.
Inserting Data from Another Table
PostgreSQL enables the insertion of data into one table directly from another using a SELECT
statement. This feature is useful for copying or reorganizing data:
INSERT INTO target_table (column1, column2, column3)
SELECT source_column1, source_column2, source_column3
FROM source_table
WHERE condition;
In this structure, target_table
is the destination for the data, and column1
, column2
, and column3
are the specific columns where the data will be inserted. The SELECT
statement fetches the data to be inserted: source_column1
, source_column2
, and source_column3
indicate the source columns from source_table
. The WHERE
clause, which is optional, filters the rows that will be copied from source_table
to target_table
.
This method is efficient for transferring data between tables, especially when filtering or transforming the data as part of the insertion process.
Turn your SQL into Beautiful Dashboards
Create amazing KPI dashboards directly from your SQL database with Dashase
- Create charts, tables, and widgets
- Collaboration - Shared Dashboards
- AI assisted query generation - GPT-4
- Supports PostgreSQL, MySQL, SQL Server, and more
PostgreSQL Snippets
- Counting Array Length in PostgreSQL
- Concatenating Strings in PostgreSQL
- Joining strings with separators in PostgreSQL - CONCAT_WS()
- How to Count Null and Non-Null Values in PostgreSQL
- How to create a table in PostgreSQL
- How to delete rows in PostgreSQL
- How to perform full text search in PostgreSQL
- Handling NULL values with the COALESCE function
- How to insert rows into a table in PostgreSQL
- List databases in PostgreSQL
- Split string in PostgreSQL using regexp_split_to_array
- Split string in PostgreSQL using split_part
- Using substring() to get parts of a string in PostgreSQL
- How to update rows in PostgreSQL