PostgreSQL INSERT:将数据插入表中
PostgreSQL 插入语句
In PostgreSQL,插入语句帮助在表中插入新行或新列。您可以插入由值表达式指定的行、零行或查询产生的多行。
的语法 PostgreSQL 插入
INSERT INTO TABLE_NAME (column1, column2, ...columnN) VALUES (value1, value2,...valueN);
您可以看到,在上面的语法中,列 1 到 N 是您想要插入数据的表中列的名称。目标列需要按任何特定顺序列出。查询或值子句提供的值是列的相应值。
一旦查询执行完毕,您就可以看到输出消息。
Insert oid 1
如果仅插入一行,则会显示此输出消息,oid 是分配给插入行的数字 OID。
示例 PostgreSQL 插入表格
请考虑下表“教程”,其中包含两列。
“id” 整数默认值 1
“tutorial_name” 文本默认值 postgre
并且没有任何限制
以下是 PostgreSQL 插入表:
步骤1) 插入一行
INSERT INTO tutorials(id, tutorial_name) VALUES (1, 'postgre');
注意:插入行时仅需要将字符或日期值括在单引号中。
步骤2) 但是,如果将数据插入到所有列中,则可以省略列名。 相同的插入语句也可以写成,
INSERT INTO tutorials VALUES (1, 'postgre');
步骤3) 数据值按表中列的出现顺序列出,并以逗号分隔。
上述语法存在一个问题,即您需要知道表中列的顺序。为了解决这个问题,您还可以明确列出列。
例如,下面给出的两个命令具有如下所示的相同效果:
INSERT INTO tutorials(id, tutorial_name) VALUES (1, 'postgre'); INSERT INTO tutorials(tutorial_name, id) VALUES ('postgre',1);
步骤4) 在此示例中,您可以看到,如果您没有所有列的值,则可以省略其中一些。
在这种情况下,如果指定了默认值,列将自动填充其默认值。
INSERT INTO tutorials(id) VALUES (5);
步骤5) 您还可以请求各个列或整行的默认值:
INSERT INTO tutorials(id, tutorial_name) VALUES (1, DEFAULT); INSERT INTO tutorials DEFAULT VALUES;
步骤6) 您只需一个命令即可输入多行:
INSERT INTO tutorials(id, tutorial_name) VALUES (1, 'postgre'), (2, 'oracle'), (3, 'mysql'), (4, 'mongo');
步骤7) In PostgreSQL,它还可以插入查询结果,该查询结果可能没有行,可能只有一行,也可能有多行:
INSERT INTO tutorials (id, tutorial_name) SELECT id, tutorial_name FROM tutorials WHERE tutorial_name = 'mysql';
PostgreSQL 使用 pgAdmin 插入语句
以下是使用 Insert 语句的步骤 Postgre SQL 中的 pgAdmin
步骤1) 在对象树中
- 右键单击要插入数据的表
- 选择脚本
- 插入脚本
步骤2) 在插入面板中
- 编辑查询
- 点击照明按钮
- 观察输出
步骤3) 您也可以转到工具>查询工具来打开查询编辑器,但您将不会获得默认的插入查询。
总结
代码/参数/提示 | 描述 |
---|---|
插入表名 (列 1,列 2,…列 N) 值(值1,值2,…值N); |
用于将值插入表中 |
插入教程(id,tutorial_name)值(1,'postgre'); 插入教程(tutorial_name,id)值('postgre',1); |
列的顺序并不重要。两者都具有相同的效果。 |
插入教程值(1,'postgre'); | 如果您为所有列提供值,则无需指定 |
插入教程(id,教程名称) 从教程中选择 id、tutorial_name 其中教程名称 = 'mysql'; |
您可以在 INSERT 查询中指定按名称引用的单个或多个子查询。 |
默认值 | 使用此子句可以用其默认值填充所有列。 |
表达 | 应分配给相应列的值和表达式。 |
默认 | 当相应列填充其默认值时,使用 default 子句。 |