向表中插入数据(单行/多行/插入否则更新/插入否则替换)

本文详细介绍了SQL中插入数据的不同方式,包括单行插入、指定属性、省略属性列、多行插入、插入否则更新、onduplicatekey机制以及插入否则替换的用法。通过示例和影响行数的讨论,帮助理解这些操作在数据库中的实际应用。
摘要由CSDN通过智能技术生成

目录

插入单行数据

指定属性

省略属性列

多行插入

插入否则更新

格式

on duplicate key含义

不同行数的更改

示例

查看影响行数 

语法

插入否则替换

格式

不同行数的更改

示例 


插入单行数据

insert into + 表名 ( +(属性列名) ) + values (数据)

指定属性

插入的数据要和手动输入的属性名顺序对应着来:

省略属性列

需要将所有属性都插入值,并且要按照原属性列顺序来:

多行插入

只需要将数据部分以逗号的形式相连即可 -- (),()...

插入否则更新

  • 如果不存在,就插入
  • 如果存在(也就是发生键值冲突),就更新数值 

格式

insert (into) 表名 (属性列名) values(数据) on duplicate key update 属性a=xx,属性b=xx ...

on duplicate key含义

如果存在键值冲突,就执行之后的语句

不同行数的更改

示例

我们将id设为主键后,如果再插入id=1的数据,就会发生键值冲突

  • 所以,我们可以选择设置同步更新
  • 可以看到,xx被成功更新为zz,且影响行数为2:

如果不存在冲突

  • 自然就不会执行on duplicate key 后面的语句了
  • 且影响行数为1:

查看影响行数 

从上面的示例我们可以知道,影响行数的不同,对应着不同的数据情况

所以,我们可以通过行数,来知道刚刚究竟发生了怎样的操作

语法

select row_count()

 

插入否则替换

  • 如果主键/唯一键没有出现冲突,则直接插入
  • 出现冲突,先删除再插入

格式

replace (into) 表名 (属性列名) values(数据)

和insert格式相同

不同行数的更改

示例 

可以看到,数据成功被替换成了qq:

并且,它很明显比插入否则更新的语法更加简洁,他俩的功能也差不多,所以一般会使用它

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值