MySQL基础篇第11章(数据处理之增删改)

news2024/11/25 12:45:39

1.插入数据

1.1 实际问题

在这里插入图片描述

1.2 方式1:VALUES的方式添加

使用这种语法一次只能向表中插入一条数据。

情况1:为表的所有字段按默认顺序插入数据

INSERT INTO 表名 VALUES (value1,value2,....);

值列表中需要为表的每一个字段指定值,并且值的顺序必须和数据表中字段定义时的顺序相同。

INSERT INTO emp1
VALUES (1,'Tom','2000-12-31',123)
INSERT INTO emp1
VALUES (2,'cat',NULL,NULL)

情况2:为表的指定字段插入数据

INSERT INTO 表名(column1 [, column2,, columnn]) 
VALUES (value1 [,value2,, valuen]);

为表的指定字段插入数据,就是在INSERT语句中只向部分字段中插入值,而其他字段的值为表定义时的默认值。

在 INSERT 子句中随意列出列名,但是一旦列出,VALUES中要插入的value1,…valuen需要与 column1,…columnn列一一对应。如果类型不同,将无法插入,并且MySQL会产生错误。

举例:

INSERT INTO emp1(id,`name`)
VALUES (3,'哈哈')

情况3:同时插入多条记录
INSERT语句可以同时向数据表中插入多条记录,插入时指定多个值列表,每个值列表之间用逗号分隔 开,基本语法格式如下:

INSERT INTO table_name 
VALUES 
(value1 [,value2,, valuen]), 
(value1 [,value2,, valuen]), 
…… 
(value1 [,value2,, valuen]);

或者

INSERT INTO table_name(column1 [, column2,, columnn]) 
VALUES 
(value1 [,value2,, valuen]), 
(value1 [,value2,, valuen]),
 …… 
(value1 [,value2,, valuen]);

举例:

INSERT INTO emp1(id,`name`)    
VALUES 
(1001,'shkstart'),    
(1002,'atguigu'),    
(1003,'Tom')
> Affected rows: 3
> 时间: 0.075s

使用INSERT同时插入多条记录时,MySQL会返回一些在执行单行插入时没有的额外信息,这些信息的含义如下:
● Records:表明插入的记录条数。
● Duplicates:表明插入时被忽略的记录,原因可能是这些记录包含了重复的主键值。
● Warnings:表明有问题的数据值,例如发生数据类型转换。

一个同时插入多行记录的INSERT语句等同于多个单行插入的INSERT语句,但是多行的INSERT语句在处理过程中效率更高 。因为MySQL执行单条INSERT语句插入多行数据比使用多条INSERT语句 快,所以在插入多条记录时最好选择使用单条INSERT语句的方式插入。

小结:
VALUES 也可以写成 VALUE ,但是VALUES是标准写法。
字符和日期型数据应包含在单引号中。

1.3 方式2:将查询结果插入到表中

INSERT还可以将SELECT语句查询的结果插入到表中,此时不需要把每一条记录的值一个一个输入,只需要使用一条INSERT语句和一条SELECT语句组成的组合语句即可快速地从一个或多个表中向一个表中插入多行。

基本语法格式如下:

INSERT INTO 目标表名 
(tar_column1 [, tar_column2,, tar_columnn]) 
SELECT (src_column1 [, src_column2,, src_columnn]) 
FROM 源表名 
[WHERE condition]
  • 在 INSERT 语句中加入子查询。
  • 不必书写 VALUES 子句。
  • 子查询中的值列表应与 INSERT 子句中的列名对应。

举例:

INSERT INTO emp1 
SELECT employee_id,last_name
FROM employees 
WHERE department_id = 90
> 1136 - Column count doesn't match value count at row 1 #列不匹配
> 时间: 0s
INSERT INTO emp1 (id,`name`)
SELECT employee_id,last_name
FROM employees 
WHERE department_id = 90
> Affected rows: 3
> 时间: 0.087s

INSERT INTO emp1
SELECT employee_id,last_name,hire_date,salary
FROM employees 
WHERE department_id = 90
> Affected rows: 3
> 时间: 0.078s

INSERT INTO emp1 
SELECT employee_id id,last_name `name` ,hire_date,salary
FROM employees 
WHERE department_id = 90

> Affected rows: 3
> 时间: 0.085s

emp1 表中要添加数据的字段长度不能低于 employees 表中查询的字段长度。

2. 更新数据

在这里插入图片描述

  • 使用UPDATE语句更新数据,语法如下:

    UPDATE table_name 
    SET column1=value1, column2=value2,, column=valuen 
    [WHERE condition]
    
  • 可以一次更新多条数据

  • 如果需要回滚数据,需要保证在DML前,进行设置:SET AUTOCOMMIT = FALSE;

  • 使用WHERE子句指定需要更新的数据。

    UPDATE employees 
    SET department_id = 70 
    WHERE  employee_id = 113;
    
  • 如果省略WHERE子句,则表中的所有数据豆浆被更新。

    UPDATE  copy_emp 
    SET  department_id = 110;
    
  • 更新中的数据完整性错误

    UPDATE employees 
    SET department_id = 55 
    WHERE  department_id = 110;
    

    在这里插入图片描述

    说明:不存在55号部门

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

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

相关文章

MTIC工业大脑,海量接入网关!

MTIC3.0工业大脑是高性能,高可靠性的低代码开发数据核心平台,支持上万级别的网关设备同时在线,提供标准版本业务系统,可实现多业主工程项目并行管理,吸取大型物联网数据监测工程专家建议,实现项目精细化管理…

什么是DPU

什么是DPU 什么是 DPU? 在数据中心、DPU 或数据处理单元中移动数据的专家是一种新型的可编程处理器,将与 CPU 和 GPU 一起成为计算的三大支柱之一。 当然,您可能已经熟悉中央处理器。 多年来,CPU 是大多数计算机中唯一的可编程元…

如何避免成为背锅侠?

你被同事甩过锅吗? 打工人在职场中犯错都是不可避免的。 但明明不是自己的问题,还要背个黑锅,就非常闹心了! 大家好,我是大D。 前几天,大D开发完了一个项目,在交付验收中发现业务逻辑存在漏洞&a…

java swing人机对战五子棋(含背景音乐)

一、项目简介 本项目是一套基于java swing的人机对战五子棋系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xf…

java BigDecimal保留两位小数

对于一些精准的数字,如涉及到金额时我们一般会使用BigDecimal类型来保存和处理。在处理保留小数位数时,如果通过DecimalFormat表达式需要注意下。 1、通过DecimalFormat保留两位小数 通过上图可以看到,#在补位时,如果该位没有数…

C/C++入门005-C语言数组

文章目录C语言数组数组的基本概念及定义数组定义数组中的几个名词数组长度计算方法二维数组的含义二维数组的定义字符数组字符函数1. strlen 计算字符串长度2. strcpy 字符串拷贝3. strcat 字符串追加4. strcmp 字符串比较1. strncpy 字符串拷贝3. strncmp 字符串比较4. strstr…

【web安全】——web渗透的前缀知识

作者名:Demo不是emo 主页面链接:主页传送门 创作初心:舞台再大,你不上台,永远是观众,没人会关心你努不努力,摔的痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷座…

海康摄像头CVE-2021-36260漏洞复现

海康摄像头CVE-2021-36260漏洞复现1.漏洞介绍2.手动测试2.1.摄像头版本2.2.漏洞复现2.2.1.更改URL2.2.2.抓包修改数据2.2.3.更换请求路径2.2.4.后期利用3.POC测试3.1.下载POC3.2.运行POC3.3.测试漏洞3.4.执行命令1.漏洞介绍 攻击者利用该漏洞可以用无限制的 root shell 来完全控…

Internet Download Manager6.41加速器最快的电脑工具下载器

IDM下载器,全称是Internet Download Manager,中文是互联网下载管理器可以说是最好用下载速度最快的下载器,可以利用全部带宽多线程下载,让你的下载速度起飞! 提到下载工具,大多数国人映入脑海的或许是迅雷…

优雅应对故障:QQ音乐怎么做高可用架构体系?

导语 | 故障是开发者高频关注的问题。在分布式系统建设的过程中,我们思考的重点不是避免故障,而是拥抱故障,通过构建高可用架构体系来获得优雅应对故障的能力。本文作者冯煦亮从架构、工具链、可观测三个维度,介绍了QQ音乐多年来积…

迅速配置hadoop Xshell 会话(安装java和jdk)

安装 yum install -y epel-release 防火墙 systemctl stop firewalld systemctl disable firewalld.service root权限 vim /etc/sudoers yy p 创建文件夹 mkdir /opt/module mkdir /opt/software chown hhh:hhh /opt/module/ chown hhh:hhh /opt/software/ cd /opt/ ll 卸…

shell第六天练习

正则表达式练习题: 1、显示/etc/rc.d/rc.sysinit文件中以不区分大小的h开头的行; 2、显示/etc/passwd中以sh结尾的行; 3、显示/etc/fstab中以#开头,且后面跟一个或多个空白字符,而后又跟了任意非空白字符的行; 4、查找…

2023年AI十大展望:GPT-4领衔大模型变革,谷歌拉响警报,训练数据告急

新年伊始,大模型的话题热度不减。2022年11月底,ChatGPT展现的惊人能力将大模型研究和应用热度推向高潮,人们激烈讨论着这个高级“物种”的推出意味着什么,比如是否会颠覆搜索引擎市场格局。踏入2023年,这不禁让我们对G…

2、可观测性--数据源

文章目录监控数据来源端上访问应用程序业务监控基础设施可观测性核心概念日志(Logging)统计指标(Metrics)链路追踪(Tracing)三者之间关系监控数据来源 我们一般讲的数据观测,其实观测的就是从发…

(Java高级教程)第三章Java网络编程-第二节:套接字(Socket)编程基本概述

文章目录一:网络编程相关概念(1)什么是网络编程(2)网络编程中的相关概念①:发送端和接收端②:请求和响应③:服务端和客户端二:TCP和UDP(1)TCP&…

nVisual自动计算线缆长度

nVisual创建线缆后,需要对线缆长度进行计算,比如室外场景下光缆长度的测量及室内综合布线长度测量。nVisual可实现线缆生成后自动线缆长度的计算和手动测量线缆长度。本章将介绍测量长度接口的具体实现思路及接口调用。 一、计算原理 1.区分场景 nVis…

基于 Log 的通用增量 Checkpoint​

摘要:本文整理自 Apache Flink Contributor 俞航翔 9 月 24 日在 Apache Flink Meetup 的分享。主要内容包括:Checkpoint 性能优化之路解析 Changelog一览 State/Checkpoint 优化Tips:点击「阅读原文」查看原文视频&演讲 ppt01Checkpoint…

nodejs+npm的安装与配置

下载与安装下载点击_Node.js中文网_根据自身系统进行下载即可(建议下载10版本的,尽量不要下最新版本的)配置nodejs相关配置简介:Node.js是一个基于Chrome V8引擎的JavaScript运行环境,让JavaScript 运行在服务端的开发…

如何理解「异或(XOR)」运算在计算机科学中的重要性

前言 在学逻辑学的时候,基本的逻辑运算是非、与、或,且并没有得到特别的强调,而且事实上异或可以由这三个逻辑运算符表出。可是在计算机领域,异或似乎处于与非、与、或并列的关系,例如 C 语言的位运算符中就有专门的异…

pmp考试需要注意哪些?

注意的事情还是蛮多的,所以这里总结一个关于考试注意的点 先来分享一些总结的考试经验: 1、规划好时间:答题时间、填答题卡时间、检查时间,一般来说一道题答题时间和填答题卡的时间最好在一分钟左右,个别的题不能超过…