mysql使用--数据的插入,删除和更新

1.UNION合并多个结果集
如:SELECT m1, n1 FROM t1 WHERE m1 < 2 UNION SELECT m2, n2 FROM t2 WHERE m2 > 2;
默认下,某行在参与合并两个结果集均存在时,最终结果集中只包含一行。
如希望最终结果集包含两行,用UNION ALL。
如:SELECT m1, n1 FROM t1 UNION ALL SELECT m2, n2 FROM t2;

2.插入数据
_1.插入完整的记录
如:INSERT INTO 表名 VALUES(列1的值, …, 列n的值);
值得注意的是上述values后的每个()中必须为表的每一列指定值。

_2.插入记录的一部分
如:INSERT INTO 表名(列1, 列2) VALUES (列1的值, 列2的值);
如果表不止两列,上述语句只为表中指定两列插入值,其余列采用默认值,其余列必须指定了默认值。

_3.批量插入记录
指的是VALUES后的()可以有多个,之间用逗号分割,以便一次插入多行。

_4.将某个查询的结果集插入表中

CREATE TABLE first_table (
first_column INT,
second_column VARCHAR(100)
);CREATE TABLE second_table(
s VARCHAR(200),
i INT
);

如:INSERT INTO second_table(s, i) SELECT second_column, first_column FROM first_table WHERE first_column < 5;
可以实现将SELECT子句得到结果集的多行作为插入子句的值来源,插入second_table。

_5.INSERT IGNORE
对应一些是主键或UNIQUE键的列或列组合来说,它们不允许重复值出现。

ALTER TABLE first_table MODIFY COLUMN first_column INT UNIQUE;

如:INSERT IGNORE INTO first_table(first_column, second_column) VALUES(1, ‘哇哈哈’);
由于我们用IGNORE修饰了INSERT,这样当first_table在插入前已经存在first_column为1的行时,(1, ‘哇哈哈’)会被忽略;不存在时,(1, ‘哇哈哈’)将插入表中。
没有IGNORE修饰下,这样当first_table在插入前已经存在first_column为1的行时,上述插入会报错。

_6.INSERT … ON DUPLICATE KEY UPDATE
如:INSERT INTO first_table(first_column, second_column) VALUES(1, ‘哇哈哈’) ON DUPLICATE KEY UPDATE first_column=10, second_column=‘雪碧’;
上述语句的意思是,若first_table表插入前已经存在first_column值为1的行,则插入(1, ‘哇哈哈’)的实际行为将是设置此行的first_column为10,设置此行的second_column为’雪碧’;若不存在,则插入(1, ‘哇哈哈’)。

如:INSERT INTO first_table(first_column, second_column) VALUES (2, ‘红牛’), (3, ‘红茶’) ON DUPLICATE KEY UPDATE second_column = VALUES(second_column);
上述语句意思是,向表first_tables插入多行,对每一行如此行的first_column值在表中已经存在,则插入行的实际行为是表中对应行的second_column列设置为插入行中此列的值。

3.删除数据
DELETE FROM 表名 [WHERE 表达式];
执行过程为:
(1).从FROM子句得到结果集1
(2).通过WHERE子句对结果集1执行过滤得到结果集2
(3).将结果集2中每一行从表中移除。
忽略WHERE时,会删除表中所有行。

进一步,如:DELETE FROM first_table WHERE first_column > 4 ORDER BY first_column DESC LIMIT 1;
执行过程为:
(1).通过FROM子句得到结果集1
(2).通过WHERE子句对结果集1过滤得到结果集2
(3).通过ORDER BY对结果集2排序得到结果集3
(4).通过LIMIT对结果集3过滤得到结果集4
(5).从表中移除结果集4中每行

4.更新数据
UPDATE 表名 SET 列1=值1, 列2=值2, …, 列n=值n [WHERE 表达式];
执行过程为:
(1).基于表得到结果集1
(2).通过WHERE子句过滤结果集1得到结果集2
(3).对结果集2中每一行执行SET子句

进一步,如:UPDATE first_table SET second_column = ‘爽歪歪’ WHERE first_column > 4 ORDER BY first_column DESC LIMIT 1;
执行过程为:
(1).通过表名得到结果集1
(2).通过WHERE子句对结果集1过滤得到结果集2
(3).通过ORDER BY对结果集2排序得到结果集3
(4).通过LIMIT对结果集3过滤得到结果集4
(5).对结果集4中每一行执行SET子句

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/159780.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

慕尼黑电子展Samtec Demo | 回环测试带来Samtec产品组合优异表现

【摘要/前言】 大家好&#xff01;Electronica虎家展台Demo系列回来咯。 实践出真知&#xff0c;再好的纸面数据都不如来一场实际的测试和演示。Samtec团队始终在努力为客户带来卓越的产品和优质服务。而这其中&#xff0c;Demo演示的存在至关重要。演示过程可以为大家带来了…

关于Flink的旁路缓存与异步操作

1. 旁路缓存 1. 什么是旁路缓存? 将数据库中的数据,比较经常访问的数据,保存起来,以减少和硬盘数据库的交互 比如: 我们使用mysql时 经常查询一个表 , 而这个表又一般不会变化,就可以放在内存中,查找时直接对内存进行查找,而不需要再和mysql交互 2. 旁路缓存例子使用 dim层…

Vue-报错No “exports“ main defined in xx

vue报错&#xff1a;No "exports" main defined in F:\wjh\vue#Practice\EasyQuestionnaire-web-master\EasyQuestionnaire-web-master\node_modules\babel\helper-compilation-targets\package.json 1.在文件中找到该路径的package.json文件&#xff0c; 2.按照提示…

人工智能:拥抱未来之手

人工智能对我们的生活影响有多大 人工智能给我们的生活带来了巨大的影响&#xff01;它像魔术师一样&#xff0c;帮我们解决问题、提供建议&#xff0c;甚至预测未来。从智能手机到智能家居&#xff0c;人工智能让我们的生活变得更便捷、更智能。它是我们生活中的得力助手&…

MEMS制造的基本工艺——晶圆键合工艺

晶圆键合是一种晶圆级封装技术&#xff0c;用于制造微机电系统 (MEMS)、纳米机电系统 (NEMS)、微电子学和光电子学&#xff0c;确保机械稳定和气密密封。用于 MEMS/NEMS 的晶圆直径范围为 100 毫米至 200 毫米&#xff08;4 英寸至 8 英寸&#xff09;&#xff0c;用于生产微电…

java序列化与反序列化

java中序列化与反序列化 概念 在Java中&#xff0c;序列化是指将对象转换为字节流的过程&#xff0c;而反序列化则是将字节流转换回对象的过程。序列化和反序列化通常用于在网络上传输对象或将对象持久化到磁盘上。 要对一个对象进行序列化&#xff0c;可以使用ObjectOutput…

github访问失败

1. 问题场景 今天了解到notepad可以安装许多插件&#xff0c;但是自动下载插件时总是失败&#xff0c;这些插件的下载源都是github&#xff0c;将地址复制到浏览器也打不开&#xff0c;所以查了下github的访问问题&#xff0c;目前插件已正常下载。 2. 解决方法 gitee上搜索…

facebook如何群发小组贴

Facebook是一款非常流行的社交媒体平台&#xff0c;它可以让人们与朋友、家人和同事进行交流和分享。在Facebook上&#xff0c;用户可以加入各种小组&#xff0c;与志同道合的人交流和分享。而群发小组贴是一种在小组内发布消息的方式&#xff0c;让小组的成员都能够收到消息。…

BUUCTF [SWPU2019]神奇的二维码 1

BUUCTF:https://buuoj.cn/challenges 题目描述&#xff1a; 得到的 flag 请包上 flag{} 提交。 密文&#xff1a; 下载附件&#xff0c;得到一个.png图片。 解题思路&#xff1a; 1、使用QR research扫一下&#xff0c;得到“swpuctf{flag_is_not_here}”的提示。 2、放到0…

orvibo的Mini网关VS20ZW玩法

概述 闲鱼淘来一个2016年生产的网关,此网关的型号:VS20ZW。 已经不能用APP入网了,没事拆来玩玩。 此设备已经被淘汰,很多新的zigbee产品不再支持入网。 官网设备的简介: ZigBee Mini网关,智能家居网关,智能家居主机|ORVIBO欧瑞博智能网关 设备概貌: 主要器件: …

微信小程序 获取微信头像和昵称的低版本兼容问题

<template> <uni-forms-item label"头像" nameimg><!-- #ifndef MP || MP-WEIXIN --><view click"addFile1"><u-avatar size"46":src"this.$utils.baseUrl/file/download/customFormData.avatar"></…

Uptime Kuma 企业微信群机器人告警

curl https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key693axxx6-7aoc-4bc4-97a0-0ec2sifa5aaa \-H Content-Type: application/json \-d {"msgtype": "text","text": {"content": "hello world"}}企业微信群机器人ke…

PowerQuery领域的经典之作“猴子书“中文版来啦!

与数据打交道&#xff0c;还在纠结于Excel、SQL、VBA、Python&#xff1f;数据处理领域经典之作PowerQuery"猴子书"让你用更聪明的方法处理数据。学完这本书&#xff0c;你就掌握了Power Query的一切&#xff0c;想要学Power Query&#xff0c;只需要这一本就够啦&am…

Hotspot启动原理(三)

关于Hotspot虚拟机的启动原理和内部运行机制。Hotspot虚拟机是Java虚拟机的一种实现&#xff0c;它采用了基于类的技术&#xff0c;在运行时将Java字节码转换为机器码并执行。在Hotspot虚拟机的启动过程中&#xff0c;会经历一系列的过程 包括JVM初始化、类加载、字节码解释执…

POL890 LVDSRGB TO MIPILVDS

一、芯片简介 1、系统 高性能 MIPS 32bit CPU 内核&#xff1b; 高性能 DSP 内核图像处理单元&#xff1b; 16KB 指令 Cache&#xff1b; 16KB 数据 Cache&#xff1b; 128KB OnChip SRAM&#xff1b; 内嵌 DDR3 控制器&#xff1b; 2、RGB 输入 支持 RGB666、RGB888 输入&…

万字解析设计模式之组合模式、亨元模式

一、组合模式 1.1概述 组合模式是一种结构型设计模式&#xff0c;它允许将对象组合成树形结构&#xff0c;以表示“部分-整体”的层次结构。组合模式使得客户端可以一致地对待单个对象和对象组合&#xff0c;从而将复杂的层次结构展现为一个统一的树形结构。 在组合模式中&…

设计模式-16-Spring源码中的设计模式

1-Spring之观察者模式 Java、Google Guava都提供了观察者模式的实现框架。Java提供的框架比较简单&#xff0c;只包含java.util.Observable和java.util.Observer两个类。Google Guava提供的框架功能比较完善和强大&#xff1a;通过EventBus事件总线来实现观察者模式。实际上&am…

表格制作软件排行榜,热门做表格的软件推荐

在数字化时代&#xff0c;表格不仅仅是企业管理和数据整理的重要工具&#xff0c;更是学术研究、项目规划以及日常生活中必不可少的一部分。为了更高效地进行表格制作&#xff0c;选择一款优秀的表格制作软件是至关重要的。在众多的软件中&#xff0c;我们特别推荐一款备受好评…

java.lang.IllegalStateException: Can not add resource

安卓解决 java.lang.IllegalStateException: Can not add resource 放两个链接 解决Can not add resource (com.android.aaptcompiler.ParsedResourcea980fbb) to table_言并肃的博客-CSDN博客 android attr何时会冲突_android attr冲突-CSDN博客 然后去新增的依赖找资源…

(01)vite 从启动服务器开始

文章目录 前言在浏览器中使用es模块初始化环境vite依赖预构建解决了什么问题创建vite.config.js配置vite为什么vite.config.js可以用esmodule规范 前言 Vite&#xff08;发音为"veet"&#xff09;是一种现代化的前端构建工具&#xff0c;旨在提供快速的开发体验。它…