当前位置: 首页 > news >正文

Mysql 增删改查(二)—— 增(insert)、删(delete)、改(update)

目录

一、插入

1、insert

2、replace(插入否则更新)

二、更新(update)

三、删除

1、delete

2、truncate(截断表,慎用)


一、插入

1、insert

(1) 单行 / 多行插入

全列插入:插入时可以省略要插入的字段

-- 插入单行
insert into 表名 values (...)-- 插入多行(不同行之间使用逗号隔开)
insert into 表名 values (...),(...)

指定列插入:插入时必须明确要插入的字段(插入的字段必须要和对应的值一一对应)

-- 插入单行
insert into 表名 (字段1, 字段2, ...) values (值1, 值2...)-- 插入多行(不同行之间使用逗号隔开)
insert into 表名 (字段1, 字段2, ...) values (值1, 值2...),(值1, 值2...)

(2) 插入否则更新(on duplicate key update)

如果插入的值和主键或者唯一键冲突时,会导致记录插入失败:

可以在最后加上 on duplicate key update 来补救,当插入的记录和主键或者唯一键冲突时,就直接更新对应的记录,语法格式如下:

-- 插入单行
insert into 表名 (主键, 字段2, ...) values (主键值, 值2...)
on duplicate key update 字段2=值2,...

2、replace(插入否则更新)

replace 和  on duplicate key update 的作用类似,如果主键或者唯一键没有冲突,直接插入;主键或唯一键有冲突,那么删除以后再插入

注意是删除以后插入, on duplicate key update 是在原本的基础上更新。

-- 支持全列/指定列替换
replace into 表名 (字段名) values (字段值)

替换前:

替换后:

 

二、更新(update)

一般update需要搭配 where子句使用,如果没有where子句,更新的是全表某个字段的值,有了where子句,更新的是指定记录对应的字段值。

update 表名 set 字段名=新的字段值 where 筛选条件

在某一个字段原本值的基础上加上一个值

将某一个字段的值改为一个全新的值

三、删除

1、delete

delete的作用是删除某一条记录或者删除整个表,无论是哪种,自动索引都不会重置,而是保留历史最大值。所谓自动索引,指的是下次插入记录的时候,主键自增的值。

(1) 删除某一条记录

一般需要搭配where子句使用,否则删除的是整个表的数据。 

delete from 表名 where 筛选条件

(2) 删除整个表的内容(慎用)

delete from 表名

2、truncate(截断表,慎用)

只能对整表操作,不能像delete那样针对部分数据操作;除了清零,还会重置自动索引。实际上 MySQL 不对数据操作,所以比 delete 更快,但是 truncate 在删除数据的时候,并不经过真正的事物,所以无法回滚。

truncate 表名 
http://www.lryc.cn/news/2772.html

相关文章:

  • JSD2212复习串讲
  • sphinx 升级到6.x后的Jquery问题
  • NSSCTF Round#8 Basic
  • 多传感器融合定位十二-基于图优化的建图方法其一
  • RockChip MPP编码
  • 【学习笔记】NOIP暴零赛2
  • linux基本功系列之hostname实战
  • Easy-Es框架实践测试整理 基于ElasticSearch的ORM框架
  • 【数据结构】双向链表的模拟实现(无头)
  • vue自定义指令---处理加载图片失败时出现的碎图,onerror事件
  • 加盟管理系统挑选法则,看完不怕被坑!
  • alertmanager笔记
  • Android Jetpack组件之WorkManager后台任务管理的介绍与使用(二)
  • 【MySQL】第十七部分 约束
  • java ssm集装箱码头TOS系统调度模块的设计与实现
  • MS14-064(OLE远程代码执行漏洞复现)
  • 【C++深陷】之shared_ptr
  • SpringMVC中遇到的错误
  • 姿态估计端到端新方案 | DirectMHP:用于全范围角度2D多人头部姿势估计
  • jvm学习的核心(五)---垃圾回收算法和常见垃圾回收器
  • 亿级高并发电商项目-- 实战篇 --万达商城项目 二(Zookeeper、Docker、Dubbo-Admin等搭建工作
  • 【C#基础】 C# 数据类型总结
  • 格子玻尔兹曼法介绍
  • 活动星投票在时间的河流上造园分组怎么设置如何进行分组报名
  • c#小笔记本-基础
  • DamiCMS SQL注入分析
  • 图傅里叶变换的推导和理解
  • Java八股文(Java面试题)
  • java ssm idea高校图书借阅管理系统设计2z87z
  • 电脑重装系统注册表恢复方法