ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

PostgreSQL-插入

2022-09-03 23:03:36  阅读:292  来源: 互联网

标签:INSERT PostgreSQL name no INTO 插入 products VALUES


创建表时,它不包含任何数据。在数据库发挥作用之前要做的第一件事就是插入数据。数据一次插入一行。您还可以在单​​个命令中插入多行,但不能插入不完整的行。即使您只知道某些列值,也必须创建完整的行。

要创建新行,请使用 INSERT 命令。该命令需要表名和列值。例如:

CREATE TABLE products (
    product_no integer,
    name text,
    price numeric
);

INSERT INTO products VALUES (1, 'Cheese', 9.99);

数据值按列在表中出现的顺序列出,用逗号分隔。通常,数据值将是文字(常量),但也允许使用标量表达式。

上述语法的缺点是您需要知道表中列的顺序。为避免这种情况,您还可以显式列出列。例如,以下两个命令与上述命令具有相同的效果:

INSERT INTO products (product_no, name, price) VALUES (1, 'Cheese', 9.99);
INSERT INTO products (name, price, product_no) VALUES ('Cheese', 9.99, 1);

如果您没有所有列的值,则可以省略其中的一些。在这种情况下,这些列将填充它们的默认值。例如:

INSERT INTO products (product_no, name) VALUES (1, 'Cheese');
INSERT INTO products VALUES (1, 'Cheese');

第二种形式是 PostgreSQL 扩展。它用给定的尽可能多的值填充左侧的列,其余的将是默认值。

为清楚起见,您还可以为单个列或整行显式请求默认值:

INSERT INTO products (product_no, name, price) VALUES (1, 'Cheese', DEFAULT);
INSERT INTO products DEFAULT VALUES;

您可以在单个命令中插入多行:

INSERT INTO products (product_no, name, price) VALUES
(1, 'Cheese', 9.99),
(2, 'Bread', 1.99),
(3, 'Milk', 2.99);

也可以插入查询的结果(可能是无行、一行或多行):

INSERT INTO products (product_no, name, price)
SELECT product_no, name, price FROM new_products
WHERE release_date = 'today';

标签:INSERT,PostgreSQL,name,no,INTO,插入,products,VALUES
来源: https://www.cnblogs.com/shigongp/p/16653889.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有