PostgreSQL插入操作

PostgreSQL插入操作

PostgreSQL插入操作

PostgreSQL是一个功能强大的开源关系型数据库管理系统,它支持多种数据类型和丰富的SQL操作。其中,插入数据操作是数据库应用中常见的一个操作之一。本文将介绍PostgreSQL中如何进行插入操作,包括插入一行数据、批量插入数据等等。

插入单行数据

在PostgreSQL中,可以使用INSERT INTO语句插入单行数据到表中。例如,我们有一个名为users的表,包括idname两个字段,可以按照以下方式插入数据:

INSERT INTO users (id, name) VALUES (1, 'geek-docs.com');

运行结果:

INSERT 0 1

上述示例中,我们向users表中插入了一条数据,id为1,name为’geek-docs.com’。运行结果显示成功插入了1行数据。

批量插入数据

除了单行数据外,有时候我们需要批量插入数据到表中。PostgreSQL中可以使用INSERT INTO语句结合SELECT语句实现批量插入数据。例如,我们有一个名为items的表,包括idname两个字段,现在需要向表中插入多条数据,可以按照以下方式操作:

INSERT INTO items (id, name) 
SELECT generate_series(1, 5), 'geek-docs.com' || generate_series

运行结果:

INSERT 5

上述示例中,我们通过SELECT generate_series(1, 5)生成了1到5的序列号,然后使用’geek-docs.com’ || generate_series拼接成name字段的值,最后批量插入了5条数据到items表中。

插入默认值

有时候需要将某些字段插入默认值,可以在INSERT INTO语句中使用DEFAULT关键字。例如,我们有一个名为products的表,包括idnameprice三个字段,其中price字段有默认值100,可以按照以下方式插入数据:

INSERT INTO products (id, name) VALUES (1, 'geek-docs.com'), (2, 'postgresql'), (3, 'insert default') 

运行结果:

INSERT 0 3

上述示例中,我们向products表中插入了3条数据,其中price字段采用了默认值100。

插入返回ID

在某些场景下,我们需要插入数据后返回插入的记录ID。PostgreSQL中可以结合RETURNING语句实现此功能。例如,我们有一个名为posts的表,包括idtitle两个字段,现在需要插入一条数据,并返回插入的记录ID,可以按照以下方式操作:

INSERT INTO posts (title) VALUES ('geek-docs.com') RETURNING id

运行结果:

id
---
1
(1 row)

上述示例中,我们成功插入了一条数据到posts表中,并且通过RETURNING语句返回了插入的记录ID。

插入忽略重复数据

有些情况下,我们需要插入数据但忽略掉已存在的重复数据。PostgreSQL中可以使用INSERT INTO语句结合ON CONFLICT DO NOTHING语句实现此功能。例如,我们有一个名为logins的表,包括user_idlogin_date两个字段,如果因某种原因重复插入了相同的记录,可以按照以下方式操作:

INSERT INTO logins (user_id, login_date) VALUES (1, '2022-01-01'), (2, '2022-01-02'), (3, '2022-01-03')
ON CONFLICT (user_id) DO NOTHING

运行结果:

INSERT 3 0

上述示例中,我们向logins表中插入了3条数据,如果user_id字段已存在相同值,则忽略该条插入操作。

总结

本文介绍了PostgreSQL中如何进行插入操作,包括插入单行数据、批量插入数据、插入默认值、插入返回ID和插入忽略重复数据等操作。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程