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