我对此很陌生,我需要一些帮助。
我想使用 pgadmin 将数据行从一个表复制到同一数据库中的另一个表。但是,它们的列 ID 略有不同。有没有办法编写脚本来匹配它们并进行复制?
请帮忙。谢谢你。
我尝试了以下操作(将 STUD 表中的现有数据复制到 STUDENT 表中):
CREATE TABLE STUDENT(
Student_id INT,
Student_name TEXT,
Student_address TEXT
);
INSERT INTO STUDENT
SELECT * FROM STUD AS D
WHERE(
Student_id = D.id,
Student_name = D.name
);
我有 2 个表 STUDENT 和 STUD。在 STUDENT 表下,我有 Student_id、Student_name 和 Student_address。在 STUD 表下,我有姓名和 ID。两个表中的行没有按顺序排列。
** ADD ON**
STUD中的表没有Student_address 列。只有 STUDENT 表有。由于 STUD 没有 Student_address,我想将 STUDENT 表中的 Student_address 设置为 NULL。是否可以编写一个通用脚本,其中 Stud 中不存在的 STUDENT 表中的列将为 NULL?
EDIT** 而不是NULL,我需要插入“TBC”
使用基于选择的插入:
insert into student (Student_id, Student_name)
select id, name
from stud;
列名不必匹配,只需匹配数据类型。您未在插入的目标列表中指定的任何列都将被设置为null
(或更具体地说,为该列定义的默认值)
在线示例:http : //rextester.com/ISCL45721
编辑(需求改变后)
要将常量值插入到所有行的一列中,请在 select 子句中包含该常量:
insert into student (Student_id, Student_name, student_address)
select id, name, 'TBC'
from stud;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句