您现在的位置是:首页 > 电脑 > 

PostgreSQL insert update 常用操作及insert用法区别

2025-07-18 09:42:08
   创建测试数据表 create table student ( id int ctraint idx_id primary key, name varchar(20) ctraint cst_name not null );    插入数据 insert into student values(1, lens );  1. 根据字段,当id

   创建测试数据表

create table student (
id int ctraint idx_id primary key,
name varchar(20) ctraint cst_name not null
);

   插入数据

insert into student values(1,	lens	);

 1. 根据字段,当id冲突时更新name值 

insert into student values(1,	y595	) O COFLICT(id) do update set name= ;

2.根据where条件选择性更新,由于id没有大于5的数据,故不更新

(可以直接指定约束名,不需要字段,在实际中最好使用字段名)

insert into student values(2,	Y	) O COFLICT O COSTRAIT idx_id do update set name= where student.id>5 ;

.只插入满足条件的数据行 ,冲突不做任何更新。

insert into student values(2,	Lens595	),(,	YYY	) O COFLICT(id) do nothing ; 

Insert用法区别:

1.insert into select

insert into Table1(field1,field2,...) select value1,value2,.....from Table2 [条件语句]

或者

insert into Table1 slelect * from Table2 [条件语句]

将Table2部分字段中的数据复制到Table1,首先字段的数量要一致,value的值可以是常量,但必须对应着字段接收;
将Table2全部字段数据复制到Table1,字段数量要一致; 

 示例:

insert into stu(id,name)
select id,name from student

或者

insert into stu
select id,name from student

 2.select insert into

select value1,value2 into Table1 from Table2 [条件语句]; 

要求Table1不存在,在插入时会自动创建表Table1,并将Table2中指定指定数据复制同步到Table1中; 

 示例:

select id,name into stu2 from student

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/diannao/549529.html

相关标签:无
上传时间: 2023-06-29 02:05:48
留言与评论(共有 14 条评论)
本站网友 宜昌酒吧
2分钟前 发表
.....from Table2 [条件语句] 或者 insert into Table1 slelect * from Table2 [条件语句] 将Table2部分字段中的数据复制到Table1,首先字段的数量要一致,value的值可以是常量,但必须对应着字段接收; 将Table2全部字段数据复制到Table1,字段数量要一致;   示例: insert into stu(id
本站网友 按摩瘦身
8分钟前 发表
Lens595 )
本站网友 连胜188
9分钟前 发表
insert into student values(2
本站网友 北京婚纱摄影哪家好
5分钟前 发表
(可以直接指定约束名,不需要字段,在实际中最好使用字段名) insert into student values(2
本站网友 搜房网石家庄
10分钟前 发表
Lens595 )
本站网友 绿洲香岛
21分钟前 发表
name from student 或者 insert into stu select id
本站网友 重庆梁平论坛
23分钟前 发表
...) select value1
本站网友 97sdd
18分钟前 发表
Y ) O COFLICT O COSTRAIT idx_id do update set name= where student.id>5 ; .只插入满足条件的数据行 
本站网友 时代新世界
7分钟前 发表
insert into student values(2
本站网友 rnti
2分钟前 发表
y595 ) O COFLICT(id) do update set name= ; 2.根据where条件选择性更新,由于id没有大于5的数据,故不更新
本站网友 华宝国际
9分钟前 发表
(可以直接指定约束名,不需要字段,在实际中最好使用字段名) insert into student values(2
本站网友 加速球
26分钟前 发表
name from student  2.select insert into select value1
本站网友 盲目
9分钟前 发表
冲突不做任何更新