INSERT即向表中写入数据,每条INSERT语句能够写入一条数据,也能够写入多条数据。另外还能够将其余的查询结果集用在INSERT中,将查询结果写入表中。测试
测试表spa
test=# create table tbl_insert(a int,b varchar(32)); CREATE TABLE
示例1.单条记录INSERTcode
test=# insert into tbl_insert (a,b) values (1,'test'); INSERT 0 1
示例2.多条记录INSERTblog
和单条记录INSERT的差异是各value间使用逗号分隔,最后一个value跟分号。字符串
test=# insert into tbl_insert (a,b) values (2,'test'),(3,'sd'),(4,'ff'); INSERT 0 3
示例3.查询结果INSERTio
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建立新表,并将查询结果写入表中,可是若是表已存在则会失败。table
test=# select * into tbl_insert1 from tbl_insert ; SELECT 14 test=# select * into tbl_insert1 from tbl_insert ; ERROR: relation "tbl_insert1" already exists