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
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/4878.html