# 使用 Query Builder 插入

你可以使用QueryBuilder创建INSERT查询。 例如:

import { getConnection } from "typeorm";

await getConnection()
  .createQueryBuilder()
  .insert()
  .into(User)
  .values([{ firstName: "Timber", lastName: "Saw" }, { firstName: "Phantom", lastName: "Lancer" }])
  .execute();
1
2
3
4
5
6
7
8

就性能而言,这是向数据库中插入实体的最有效方法。 你也可以通过这种方式执行批量插入。

# 原始SQL支持

在某些情况下需要执行函数SQL查询时:

import {getConnection} from "typeorm";

await getConnection()
    .createQueryBuilder()
    .insert()
    .into(User)
    .values({ 
        firstName: "Timber", 
        lastName: () => "CONCAT('S', 'A', 'W')"
    })
    .execute();
1
2
3
4
5
6
7
8
9
10
11

此语法不会对值进行转义,你需要自己处理转义。