postgresql怎么批量插入
时间: 2023-07-21 22:03:27 浏览: 151
PostgreSQL中可以使用COPY命令进行批量插入操作。
首先,将要批量插入的数据保存到一个文本文件中,每行为一条记录,字段值之间用制表符或其他分隔符隔开。
例如,将以下数据保存到文件data.txt中:
```
1 John Smith 25
2 Jane Doe 30
3 Bob Johnson 35
```
然后,使用COPY命令将数据导入到数据库表中:
```
COPY table_name (id, first_name, last_name, age) FROM 'data.txt' DELIMITER E'\t';
```
其中,table_name为要插入数据的表名,id、first_name、last_name和age为表的列名,'data.txt'为保存数据的文件名,DELIMITER指定分隔符为制表符。
注意,需要确保数据文件和表的列名、数据类型等相匹配,否则可能会导致插入失败。
另外,如果需要在插入数据时执行其他操作,可以使用INSERT INTO语句配合VALUES子句进行批量插入。例如:
```
INSERT INTO table_name (id, first_name, last_name, age)
VALUES (1, 'John', 'Smith', 25),
(2, 'Jane', 'Doe', 30),
(3, 'Bob', 'Johnson', 35);
```
这种方式比COPY命令更灵活,可以在插入数据时进行计算、条件判断等操作。但是,如果数据量较大,使用COPY命令效率更高。
阅读全文