Skip to content

Latest commit

 

History

History
42 lines (32 loc) · 957 Bytes

insert-query-builder.md

File metadata and controls

42 lines (32 loc) · 957 Bytes

Insert using Query Builder

You can create INSERT queries using QueryBuilder. Examples:

import {getConnection} from "typeorm";

await getConnection()
    .createQueryBuilder()
    .insert()
    .into(User)
    .values([
        { firstName: "Timber", lastName: "Saw" }, 
        { firstName: "Phantom", lastName: "Lancer" }
     ])
    .execute();

This is the most efficient way in terms of performance to insert rows into your database. You can also perform bulk insertions this way.

Raw SQL support

In some cases when you need to execute SQL queries you need to use function style value:

import {getConnection} from "typeorm";

await getConnection()
    .createQueryBuilder()
    .insert()
    .into(User)
    .values({ 
        firstName: "Timber", 
        lastName: () => "CONCAT('S', 'A', 'W')"
    })
    .execute();

This syntax doesn't escape your values, you need to handle escape on your own.