PostgreSQL insert into 插入数据

PostgreSQL 数据库通过 insert into 语句允许用户在表中插入数据,可以一次插入一行或多行数据,也可以通过一条 insert into 语句把一个表的数据插入到另外一张表。

以表 t 为例,展示 insert into 使用示例,如下:

创建测试表:

create table t(id int, name text);

1. 插入一行语句

insert into t values(1,'abc');

或者

insert into t select 1,'abc';

2. 插入多行数据

insert into t values(1,'aaa'),(2,'bbb'),(3,'ccc');

3. 插入行数据,并返回某个字段值

对于使用了自增序列的表,插入的记录其序列字段自动增长,当需要返回自增序列字段的值时,可以使用 insert into returning 语法,如下:

postgres=# create table t1(id serial, name text);
CREATE TABLE
postgres=# insert into t1(name) values('abc') returning id;
 id
----
  1
(1 row)

INSERT 0 1
postgres=# insert into t1(name) values('abc') returning id;
 id
----
  2
(1 row)

INSERT 0 1

4. 将一个表的数据复制到另外一张表

创建一个新表 t2,其表结构与 t1 完全一样,可通过 insert into select 语法将 t1 表中的数据复制到 t2 表,如下:

postgres=# create table t2(id int, name text);
CREATE TABLE
postgres=# insert into t2 select * from t1;
INSERT 0 2

文章评论

0条评论