insert

The insert Change Type inserts data into an existing table.

Uses

You can typically use the insert Change Type when you want to add and deploy the specific data or values to the existing table in your database. It can include columns and another attributes listed in this documentation.

Running the update Change Type

To insert the needed data and update a table in your database, follow these steps:

  1. Add the insertChange Type to your changeset with the needed attributes as it is shown in the examples.
  2. Deploy your changeset by running the update command:
  3. liquibase update

Now, you should see that your data has been inserted into the table.

Available attributes

Name Description Required for Supports Since
catalogName

Name of the catalog

all 3.0
dbms

Specifies which database type(s) a changeset is to be used for. See valid database type names on Liquibase Database Tutorials. Separate multiple databases with commas. Specify that a changeset is not applicable to a particular database type by prefixing with !. The keywords all and none are also available.

all 3.0
schemaName

Name of the schema

all
tableName Name of the table to insert data into all all

Nested tags

Name Description Required for Supports Multiple allowed
column

The data to insert into columns.

Note: YAML and JSON changelogs using the column tag must nest it within a columns tag.

-- all all

Examples

<databaseChangeLog
    xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
    xmlns:pro="http://www.liquibase.org/xml/ns/pro"
    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
        http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-latest.xsd
        http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd
        http://www.liquibase.org/xml/ns/pro http://www.liquibase.org/xml/ns/pro/liquibase-pro-latest.xsd">

    <changeSet id="xml-1" author="liquibase-docs">
        <createTable tableName="xml_table">
            <column name="stringValue" type="varchar(100)" />
            <column name="numericValue" type="int" />
        	<column name="booleanValue" type="boolean" />
            <column name="nullExample" type="varchar(100)" />
        </createTable>
    </changeSet>

    <changeSet id="xml-2" author="liquibase-docs">
        <insert tableName="xml_table">
            <column name="stringValue" value="Text value" />
            <column name="numericValue" value="123" />
            <column name="booleanValue" value="true" />
            <column name="nullExample" value="null" />
        </insert>
    </changeSet>

</databaseChangeLog>
databaseChangeLog:
-  changeSet:
    id: yml-1
    author: liquibase-docs
    changes:
    -  createTable:
        tableName: yaml_table
        columns:
        -  column:
            name: stringValue
            type: varchar(100)
        - column:
            name: numericValue
            type: int
        - column:
            name: booleanValue
            type: boolean
        - column:
            name: nullExample
            type: varchar(100)
-  changeSet:
    id: yml-2
    author:  liquibase-docs
    changes:
    -  insert:
        tableName:  yaml_table
        columns:
        -  column:
            name:  stringValue
            value:  'Text value'
        -  column:
            name:  numericValue
            value:  123
        -  column:
            name:  booleanValue
            value:  true
        -  column:
            name:  nullExample
            value:  null
{
    "databaseChangeLog": [
        {
            "changeSet": {
                "id": "json-1",
                "author": "liquibase-docs",
                "changes": [
                    {
                        "createTable": {
                            "tableName": "json_table",
                            "columns": [
                                {
                                    "column": {
                                        "name": "stringValue",
                                        "type": "varchar(100)"
                                    }
                                },
                                {
                                    "column": {
                                        "name": "numericValue",
                                        "type": "int"
                                    }
                                },
                                {
                                    "column": {
                                        "name": "booleanValue",
                                        "type": "boolean"
                                    }
                                },
                                {
                                    "column": {
                                        "name": "nullExample",
                                        "type": "varchar(100)"
                                    }
                                }
                            ]
                        }
                    }
                ]
            }
        },
        {
            "changeSet": {
                "id": "json-2",
                "author": "liquibase-docs",
                "changes": [
                    {
                        "insert": {
                            "columns": [
                                {
                                    "column": {
                                        "name": "stringValue",
                                        "value": "Text value"
                                    }
                                },
                                {
                                    "column": {
                                        "name": "numericValue",
                                        "value": "123"
                                    }
                                },
                                {
                                    "column": {
                                        "name": "booleanValue",
                                        "value": "true"
                                    }
                                },
                                {
                                    "column": {
                                        "name": "nullExample",
                                        "value": "null"
                                    }
                                }
                            ],
                            "tableName": "json_table"
                        }
                    }
                ]
            }
        }
    ]
}
--liquibase formatted sql

--changeset liquibase-docs:sql-1
CREATE TABLE sql_table(
stringValue VARCHAR(100),
numericValue INT,
booleanValue BOOLEAN,
nullExample VARCHAR(100)
);

--changeset liquibase-docs:sql-2 
INSERT INTO sql_table (stringValue, numericValue, booleanValue, nullExample) VALUES ('Text value', 123, true, null);

Database support

Database Note Auto Rollback
DB2/LUW Supported No
DB2/z Supported No
Derby Supported No
Firebird Supported No
H2 Supported No
HyperSQL Supported No
INGRES Supported No
Informix Supported No
MariaDB Supported No
MySQL Supported No
Oracle Supported No
PostgreSQL Supported No
Snowflake Supported No
SQL Server Supported No
SQLite Supported No
Sybase Supported No
Sybase Anywhere Supported No