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

MYSQL——数据更新

一、插入数据

1.插入完整的数据记录

在MYSQL中,使用SQL语句INSERT插入一条完整的记录,语法如下:

INSERT INTO 表名 [(字段名1[,...字段名n])]

VALUES (值1[...,值n]);

表名——用于指定要插入的数据的表名

字段名——用于指定需要插入数据的字段名。若插入的是一条完整的记录,且VALUES子句后各数值的顺序与表中列的定义顺序一致,则字段名表可以省略,直接采用INSERT表名VALUES(...)

VALUES子句——用于指定所要插入的数值。数值表中各数据的顺序要和字段名列表中各列的顺序相对应。

2.插入非完整的数据记录

在MYSQL中,使用SQL语句INSERT插入一条非完整的记录,语法如下:

INSERT INTO 表名 (字段名1[,...字段名n])

VALUES (值1[...,值n]);

字段名——用于指定需要插入数据的列名,若插入的是一条非完整的记录,字段名列表不能省略。

VALUES子句——用于指定所要插入的数值。数值表中各数据的顺序要和字段名列表中各列的顺序相对应。

插入的记录在未指定的字段上取空值。

3.插入多条数据记录

在MYSQL中,使用SQL语句INSERT插入多条数据记录,语法如下:

INSERT INTO 表名 [(字段名1[,...字段名n])] VALUES (值表1),

...

(值表n);

字段名——用于指定需要插入数据的字段名。若插入的是一条完整的记录,且VALUES子句后各数值的顺序与表中列的定义顺序一致,则字段名可以省略,直接采用INSERT表名VALUES即可,若插入的是非完整记录,字段不可以省略。

数值表中各数据的顺序要和字段名列表中各列的顺序相对应。

4.插入查询结果

在MYSQL中,使用SQL语句通过INSERT语句将一个表中查询的结果插入表中,从而实现表记录的复制功能。语法如下:

INSERT INTO 目标表名 [(字段名1[,...字段名n])]

SELECT (字段名1[,...字段名n])

FROM 源表名

[WHERE 条件表达式]

SELECT子句——返回的是一个从源表查询到满足指定条件(条件省略时,表示查询源表中所有记录)的结果集。

INSERT语句——表示将这个结果集插入目标表中。

目标表的字段名列表与SELECT子句字段名列表的字段个数必须相同,且对应的字段的数据类型应保持一致。

如果插入的是完整的记录,目标表的字段名列表可以省略。

结果集中的每行数据的字段数、字段的数据类型都必须与被操作的表完全一致。

5.采用REPACE语句插入数据记录

使用REPACE语句插入数据记录,有3种语法格式

语法格式1:

REPACE INTO 表名[(字段名1[,...字段名n])]

VALUES(值1[...,值n]);

语法格式2:

REPACE INTO 目标表名[(字段名1[,...字段名n])]

SELECT (字段名1[,...字段名n])

FROM 源表名

[WHERE 条件表达式]

语法格式3:

REPACE INTO 表名

SET 字段名1 = 数值1,...,字段名n = 值n;

使用REPACE语句向表插入新记录时,如果新记录的主键值或者唯一性约束的字段值与已有记录相同,则需先删除已有记录(注意:已有记录删除时也不能违背外码约束条件),再插入新记录。

使用REPACE的优势在于可以将DELETE和INSERT合二为一,形成一个原子操作,因此无须将DELET操作与INSERT操作置于事务中。

二、修改数据

1.修改特定数据记录

修改特定数据记录使用SQL语句UPDATE来实现,语法如下:

UPDATE 表名

SET 字段名1 = 值1 [,...字段名n = 值n]

WHERE 条件表达式;

表名——用于指定待修改数据的表名

SET子句——用于指定表中要修改的列名及其列值。列值可以是表达式

WHERE子句——用于修改满足条件

修改一行数据的多个列值时,set子句中每个字段值的修改使用逗号分开。

修改表记录时,需要注意表中的主码约束、外码约束以及唯一性等约束,修改的数据只有满足表定义中所以约束,才能修改成功。

2.修改所有数据记录

修改所有数据记录同样使用SQL语句UPDATE来实现,语法如下:

UPDATE 表名

SET 字段名1 = 值1 [,...字段名n = 值n]

[WHERE 条件表达式];

WHERE 条件表达式为可选项,用于限定表中要修改的记录。若要修改的是所有记录则不用指定。

三、删除数据

1.删除特定数据记录

删除特定数据记录使用SQL语句DELETE FROM来实现,语法如下:

DELETE FROM 表名

WHERE 条件表达式;

表名——用于指定要删除的表名

WHERE子句——用于指定满足条件的特定记录,为可选项

2.删除所有数据记录

删除所有数据记录同样使用SQL语句DELETE FROM来实现,语法如下:

DELETE FROM 表名

[WHERE 条件表达式];

WHERE 条件表达式为可选项,用于删除表中要特定的记录。若要删除的是所有记录则不用指定。

  • DELETE操作是可以在一个事务中回滚的,即如果执行过程中发生错误或用户选择回滚,已删除的记录可以恢复。
  • DELETE操作会激活表上的触发器。
  • DELETE不会影响自增列的计数器,除非删除的记录中包含了自增列的最大值,并且该值在后续操作中不再被使用。
  • 逐行删除数据,因此操作较慢,特别是当表中记录很多时。

3.采用TRUNCATE语句清除数据记录

在MYSQL中,删除数据除使用DELETE外,还可以使用TRUNCATE语句清空表中的数据记录,语法如下:

TRUNCATE [TABLE] 表名

TABLE关键字——可以省略。

TRUNCATE语句——用于快速删除一个表中的所有记录,但不会删除表本身及其结构。

无WHERE语句,原因在于TRUNCATE语句是清空表中所有记录,不能指定特定数据记录,所以不需要WHERE语句指定特定记录,

  • 在大多数数据库系统中,TRUNCATE操作不能在一个事务中进行回滚(即一旦执行,此操作立即生效且不可撤销,除非在特定的事务管理配置下)。
  • TRUNCATE通常不激活表上的触发器。
  • 执行TRUNCATE后,自增列(如果有的话)的计数器会被重置。
  • 不会逐行删除数据,而是直接删除数据页,并重新初始化该表的存储空间。这使得TRUNCATE操作比DELETE更快。

相关文章:

MYSQL——数据更新

一、插入数据 1.插入完整的数据记录 在MYSQL中,使用SQL语句INSERT插入一条完整的记录,语法如下: INSERT INTO 表名 [(字段名1[,...字段名n])] VALUES (值1[...,值n]); 表名——用于指定要插入的数据的表名 字段名——用于指定需要插入数据…...

Vite 基础理解及应用

文章目录 概要Vite基础知识点1. 快速启动和热更新热更新原理 2. 基于ES模块的构建3. 对不同前端框架的支持 vite.config.js配置实例1. 基本结构2. 服务器相关配置3. 输入输出路径配置4. 打包优化配置 项目构建一、项目初始化二、项目结构理解三、CSS处理四、静态资源处理五、构…...

[JAVA]用MyBatis框架实现一个简单的数据查询操作

基于在前面几章我们已经学习了对MyBatis进行环境配置,并利用SqlSessionFactory核心接口生成了sqlSession对象对数据库进行交互,执行增删改查操作。这里我们就先来学习如何对数据进行查询的操作,具体查询操作有以下几个步骤 创建实体类创建Ma…...

CSS 样式的优先级?

在CSS中,样式的优先级决定了当多个样式规则应用于同一个元素时,哪个样式会被最终使用。以下是一些决定CSS样式优先级的规则: 就近原则: 最后应用在元素上的样式具有最高优先级。这意味着如果两个选择器都应用了相同的样式&#xf…...

Linux驱动开发快速入门——字符设备驱动(直接操作寄存器设备树版)

Linux驱动开发快速入门——字符设备驱动 前言 笔者使用开发板型号:正点原子的IMX6ULL-alpha开发板。ubuntu版本为:20.04。写此文也是以备忘为目的。 字符设备驱动 本小结将以直接操作寄存器的方式控制一个LED灯,可以通过read系统调用可以…...

数据结构《栈和队列》

文章目录 一、什么是栈?1.1 栈的模拟实现1.2 关于栈的例题 二、什么是队列?2.2 队列的模拟实现2.2 关于队列的例题 总结 提示:关于栈和队列的实现其实很简单,基本上是对之前的顺序表和链表的一种应用,代码部分也不难。…...

C# 超链接控件LinkLabel无法触发Alt快捷键

在C#中,为控件添加快捷键的方式有两种,其中一种就是Windows中较为常见的Alt快捷键,比如运行对话框,记事本菜单等。只需要按下 Alt 框号中带下划线的字母即可触发该控件的点击操作。如图所示 在C#开发中,实现类似的操作…...

JVM类加载过程-Loading

一、Class对象的生命周期 .class文件是如何加载到内存中:.class文件是ClassLoader通过IO将文件读到内存,再通过双亲委派的模式进行Loading,再Linking、以及Initializing,代码调用等一系列操作后,进行GC,组成完整的生命周期; 二、双亲委派模式(Loading的过程): 1、类…...

2024年11月19日Github流行趋势

项目名称:build-your-own-x 项目维护者:danistefanovic, rohitpaulk, sarupbanskota 等项目介绍:通过从零开始重新创建你最喜欢的技术来掌握编程。项目star数:312,081项目fork数:29,004 项目名称:freqtrad…...

详细描述一下Elasticsearch索引文档的过程?

大家好,我是锋哥。今天分享关于【详细描述一下Elasticsearch索引文档的过程?】面试题。希望对大家有帮助; 详细描述一下Elasticsearch索引文档的过程? Elasticsearch的索引文档过程是其核心功能之一,涉及将数据存储到…...

基于css的Grid布局和vue实现点击左移右移轮播过渡动画效果

直接上代码&#xff0c;以下代码基于vue2,需要Vue3或者react可以使用国内直连GPT/Claude来帮你转换下 代码如下&#xff1a; // ScrollCardsGrid.vue <template><div class"scroll-cards-container"><!-- 左箭头 --><div v-show"showLef…...

HarmonyOS NEXT应用元服务开发Intents Kit(意图框架服务)习惯推荐方案概述

一、习惯推荐是HarmonyOS学习用户的行为习惯后做出的主动预测推荐。 1.开发者将用户在应用/元服务内的使用行为向HarmonyOS共享&#xff0c;使得HarmonyOS可以基于共享的数据学习用户的行为习惯。 2.在HarmonyOS学习到用户的行为习惯后&#xff0c;会给用户推荐相应功能&#x…...

【AtCoder】Beginner Contest 380-F.Exchange Game

题目链接 Problem Statement Takahashi and Aoki will play a game using cards with numbers written on them. Initially, Takahashi has N N N cards with numbers A 1 , … , A N A_1, \ldots, A_N A1​,…,AN​ in his hand, Aoki has M M M cards with numbers B …...

30. 并发编程

一、什么是多任务 如果一个操作系统上同时运行了多个程序&#xff0c;那么称这个操作系统就是 多任务的操作系统&#xff0c;例如&#xff1a;Windows、Mac、Android、IOS、Harmony 等。如果是一个程序&#xff0c;它可以同时执行多个事情&#xff0c;那么就称为 多任务的程序。…...

【包教包会】CocosCreator3.x框架——带翻页特效的场景切换

一、效果演示 二、如何获取 1、https://gitee.com/szrpf/TurnPage 2、解压&#xff0c;导入cocos creator&#xff08;版本3.8.2&#xff09;&#xff0c;可以直接运行Demo演示 三、算法思路 1、单场景 页面预制体 通过loadScene来切换页面&#xff0c;无法实现页面特效。…...

k8s上面的Redis集群链接不上master的解决办法

问题描述 之前在k8s上面部署了一台node&#xff0c;然后创建了6个redis的pod&#xff0c;构建了一个redis的集群&#xff0c;正常运行。 最近添加了一台slave node&#xff0c;然后把其中的几个redis的pod调度到了slave node上面&#xff0c;结果集群就起不来了&#xff0c;…...

<项目代码>YOLOv8 瞳孔识别<目标检测>

YOLOv8是一种单阶段&#xff08;one-stage&#xff09;检测算法&#xff0c;它将目标检测问题转化为一个回归问题&#xff0c;能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法&#xff08;如Faster R-CNN&#xff09;&#xff0c;YOLOv8具有更高的…...

网络编程-002-UDP通信

1.UDP通信的简单介绍 1.1不需要通信握手,无需维持连接,网络带宽需求较小,而实时性要求高 1.2 包大小有限制,不发大于路径MTU的数据包 1.3容易丢包 1.4 可以实现一对多,多对多 2.客户端与服务端=发送端与接收端 代码框架 收数据方一般都是客户端/接收端 3.头文件 #i…...

MySQL更换瀚高语法更换

MySQL更换瀚高语法更换 一、前言二、语句 一、前言 水一篇,mysql更换瀚高之后&#xff0c;一些需要更换的语法介绍 > 二、语句 MySQL瀚高MySQL用法瀚高用法说明ifnull(x,y)coalesce(x,y)相同相同用于检查两个表达式并返回第一个非空表达式。如果第一个表达式不是 NULL&…...

Object.prototype.hasOwnProperty.call(item, key) 作用与用途

在 JavaScript 中&#xff0c;Object.prototype.hasOwnProperty.call(item, key) 是一种检查对象 item 是否具有特定属性 key 作为自身的属性&#xff08;而不是继承自原型链&#xff09;的方法。这种调用方式是安全的&#xff0c;特别是在处理可能被修改过原型链的对象时。 解…...

当优化算法遇上自然灵感:聊聊蜣螂优化(DBO)背后的生物行为与工程思维

当优化算法遇上自然灵感&#xff1a;聊聊蜣螂优化&#xff08;DBO&#xff09;背后的生物行为与工程思维 在科技与自然的交汇处&#xff0c;总有一些令人惊叹的灵感闪现。想象一下&#xff0c;一群在非洲草原上滚着粪球的蜣螂&#xff0c;竟能启发工程师设计出解决复杂优化问题…...

告别手动:用GitHub Actions自动化你的京东签到脚本,实现7x24小时云挂机

云端自动化实践&#xff1a;基于GitHub Actions的京东签到系统搭建指南 从本地到云端的进化之路 去年夏天&#xff0c;当我第37次忘记手动执行京东签到脚本时&#xff0c;看着错失的京豆奖励&#xff0c;终于下定决心研究自动化方案。本地脚本虽然能完成基本功能&#xff0c;但…...

从实验室到产线:在Ubuntu 22.04上实战ptp4l硬件时间戳,为你的工业物联网设备“对表”

从实验室到产线&#xff1a;在Ubuntu 22.04上实战ptp4l硬件时间戳&#xff0c;为你的工业物联网设备“对表” 工业物联网场景下&#xff0c;毫秒级的时间误差可能导致整个生产线的数据错乱。去年我们为某汽车零部件工厂部署边缘计算节点时&#xff0c;就遇到过传感器数据与PLC动…...

Git远程仓库配置与开发者激励系统实践

1. 项目背景与核心价值在分布式开发环境中&#xff0c;Git作为版本控制系统的核心地位毋庸置疑。但许多团队在实际操作中常陷入两个典型困境&#xff1a;一是远程仓库配置混乱导致协作效率低下&#xff0c;二是缺乏有效的贡献激励机制影响开发者积极性。这个主题正是针对这两个…...

Video2X终极指南:AI视频超分辨率和帧插值完整教程

Video2X终极指南&#xff1a;AI视频超分辨率和帧插值完整教程 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/video2x …...

Windows 11 LTSC终极指南:如何快速添加微软商店完整解决方案

Windows 11 LTSC终极指南&#xff1a;如何快速添加微软商店完整解决方案 【免费下载链接】LTSC-Add-MicrosoftStore Add Windows Store to Windows 11 24H2 LTSC 项目地址: https://gitcode.com/gh_mirrors/ltscad/LTSC-Add-MicrosoftStore Windows 11 LTSC版本以其卓越…...

保姆级教程:用Intel RealSense Viewer搞定D435i自校准,白墙、纹理纸、任意环境三种场景实测

Intel RealSense D435i自校准实战指南&#xff1a;从白墙到纹理纸的深度优化 刚拆封的Intel RealSense D435i深度相机放在桌面上&#xff0c;金属外壳泛着冷光。许多开发者第一次接触这个设备时&#xff0c;都会遇到一个共同的问题&#xff1a;为什么官方文档里的校准流程看起来…...

AMD Ryzen 9迷你主机性能评测与优化指南

1. 开箱即用的高性能迷你主机体验初次接触Chatreey AM08 Pro这款搭载AMD Ryzen 9 7940HS处理器的迷你主机时&#xff0c;最让我惊讶的是它在巴掌大的体积里塞进了如此强悍的性能。作为长期评测迷你主机的从业者&#xff0c;这款产品确实给我留下了深刻印象。它完美诠释了"…...

TSN over C:从零构建符合IEC 61784-2 CP 2322标准的实时以太网节点(含TSN交换芯片寄存器级配置C代码)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;TSN over C&#xff1a;从零构建符合IEC 61784-2 CP 2322标准的实时以太网节点&#xff08;含TSN交换芯片寄存器级配置C代码&#xff09; 实现工业确定性通信的核心在于将时间敏感网络&#xff08;TSN&…...

深度学习在脑肿瘤MRI自动分割与分类中的应用

1. 项目背景与临床价值脑肿瘤的早期精确诊断对患者治疗方案制定和预后评估具有决定性作用。传统MRI影像分析主要依赖放射科医师人工判读&#xff0c;存在主观性强、效率低下、微小病灶易漏诊等痛点。我们团队基于深度学习的医学影像分析技术&#xff0c;开发了一套端到端的脑肿…...