postgresql----INSERT

INSERT即向表中写入数据,每条INSERT语句可以写入一条数据,也可以写入多条数据。另外还可以将其他的查询结果集用在INSERT中,将查询结果写入表中。

测试表

test=# create table tbl_insert(a int,b varchar(32));
CREATE TABLE

示例1.单条记录INSERT

test=# insert into tbl_insert (a,b) values (1,'test');
INSERT 0 1

示例2.多条记录INSERT

和单条记录INSERT的差别是各value间使用逗号分隔,最后一个value跟分号。

test=# insert into tbl_insert (a,b) values (2,'test'),(3,'sd'),(4,'ff');
INSERT 0 3

 

示例3.查询结果INSERT

generate_series(1,10)生成1到10连续的10个数字,concat将参数串接在一起组成新的字符串,入参可以有很多个。
test=# insert into tbl_insert (a,b) select id,concat(id,'test') from generate_series(1,10) id;
INSERT 0 10
test=# select * from tbl_insert ;
 a  |   b    
----+--------
  1 | test
  2 | test
  3 | sd
  4 | ff
  1 | 1test
  2 | 2test
  3 | 3test
  4 | 4test
  5 | 5test
  6 | 6test
  7 | 7test
  8 | 8test
  9 | 9test
 10 | 10test
(14 rows)

 

示例4.SELECT INTO创建新表,并将查询结果写入表中,但是如果表已存在则会失败。

test=# select * into tbl_insert1  from tbl_insert ;
SELECT 14
test=# select * into tbl_insert1  from tbl_insert ;
ERROR:  relation "tbl_insert1" already exists

 

posted @ 2016-06-24 07:41  alianblog  阅读(3627)  评论(0编辑  收藏  举报