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

MySQL(11):数据处理之增删改

插入数据

方式1: 一条一条的添加数据

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

INSERT INTO 表名
VALUES (value1,value2,....);
# 没有指明添加的字段
INSERT INTO emp1
VALUES (1,'TOM','2023-11-06',3400);

在这里插入图片描述
没有指明添加的字段,要按照声明顺序,进行字段添加。

为表的所有字段按指明顺序插入数据
INSERT语句中只向部分字段中插入值,而其他字段的值为表定义时的默认值。
INSERT 子句中随意列出列名,但是一旦列出,VALUES中要插入的value1,....valuen需要与column1,...columnn列一一对应。

INSERT INTO 表名(column1 [, column2,, columnn])
VALUES (value1 [,value2,, valuen]);
# 指明要添加的字段
INSERT INTO emp1(id,hire_date,salary,`name`)
VALUES(2,'1999-09-09',4000,'Jerry');

在这里插入图片描述

# 说明:没有进行赋值的hire_date 的值为 null
INSERT INTO emp1(id,salary,`name`)
VALUES(3,4500,'shk');

在这里插入图片描述
可以同时插入多条记录

INSERT INTO table_name
VALUES
(value1 [,value2,, valuen]),
(value1 [,value2,, valuen]),
……
(value1 [,value2,, valuen]);
INSERT INTO emp1(id,NAME,salary)
VALUES
(4,'Jim',5000),
(5,'张俊杰',5500);

在这里插入图片描述

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

VALUES 也可以写成 VALUE ,但是VALUES是标准写法

方式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(id,NAME,salary,hire_date)
#查询语句
SELECT employee_id,last_name,salary,hire_date  # 查询的字段一定要与添加到的表的字段一一对应
FROM employees
WHERE department_id IN (70,60);

在这里插入图片描述
说明:emp1表中要添加数据的字段的长度不能低于employees表中查询的字段的长度。
如果emp1表中要添加数据的字段的长度低于employees表中查询的字段的长度的话,就有添加不成功的风险。

更新数据

UPDATE table_name
SET column1=value1, column2=value2,..., columnn=valuen
[WHERE condition]

可以一次更新多条数据。
如果需要回滚数据,需要保证在DML前,进行设置:SET AUTOCOMMIT = FALSE;

#同时修改一条数据的多个字段
UPDATE emp1
SET hire_date = CURDATE(),salary = 6000
WHERE id = 4;

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

在这里插入图片描述
修改数据时,是可能存在不成功的情况的。(可能是由于约束的影响造成的)

删除数据

DELETE FROM table_name
[WHERE condition];

table_name指定要执行删除操作的表;“[WHERE ]”为可选参数,指定删除条件,如果没有WHERE子句,DELETE语句将删除表中的所有记录。

DELETE FROM emp1
WHERE id = 1;#在删除数据时,也有可能因为约束的影响,导致删除失败
DELETE FROM departments
WHERE department_id = 50;

在这里插入图片描述

小结:DML操作默认情况下,执行完以后都会自动提交数据。
如果希望执行完以后不自动提交数据,则需要使用 SET autocommit = FALSE.

计算列

计算列:简单来说就是某一列的值是通过别的列计算得来的。
在MySQL 8.0中,CREATE TABLEALTER TABLE 中都支持增加计算列。

CREATE TABLE test1(
a INT,
b INT,
c INT GENERATED ALWAYS AS (a + b) VIRTUAL  #字段c即为计算列
);
INSERT INTO test1(a,b)
VALUES(10,20);
SELECT * FROM test1;

在这里插入图片描述

UPDATE test1
SET a = 100;

在这里插入图片描述

数据库学习视频:
【MySQL数据库入门到大牛,mysql安装到优化,百科全书级,全网天花板】

相关文章:

MySQL(11):数据处理之增删改

插入数据 方式1: 一条一条的添加数据 为表的所有字段按默认顺序插入数据 INSERT INTO 表名 VALUES (value1,value2,....);# 没有指明添加的字段 INSERT INTO emp1 VALUES (1,TOM,2023-11-06,3400);没有指明添加的字段,要按照声明顺序,进行…...

QT QDockWidget

QDockWidget是Qt中的一个容器类,用于在主窗口上创建可停靠的子窗口。 设置停靠窗口的一般流程如下: (1)创建一个QDockWidget 对象的停靠窗体。 (2)设置此停靠窗体的属性,通常调用setFeatures()及setAllowedAreas()两种方法。 (3)新建一个要插入停靠窗…...

Android 12.0 开启蓝牙状态栏即显示蓝牙图标

Android 12.0 开启蓝牙状态栏即显示蓝牙图标 最近收到客户反馈想要在开启蓝牙时状态栏就能显示出蓝牙图标,我们系统默认是蓝牙连接上设备后状态栏才显示出蓝牙图标,具体修改参照如下: /vendor/mediatek/proprietary/packages/apps/SystemUI…...

skynet学习笔记02— skynet介绍、skynet基础API与环境变量

01、Skynet与Actor模型 在系统Skynet之前,先了解一下Skynet与Actor模型,下列是风云大佬的介绍以及一个大佬的博客 https://github.com/cloudwu/skynet/wiki/GettingStartedhttps://blog.csdn.net/qq769651718/article/details/79432793 02、Skynet基础…...

Android---App 崩溃

崩溃问题是衡量 App 质量的决定性考核标准。Android 系统会输出各种相应的 log 日志,很大程度上降低了工程师 debug 崩溃问题的难度。如果要给 crash 日志进行分类,可以分为2大类:JVM 异常(Exception)堆栈信息和 nativ…...

DocTemplateTool - 可根据模板生成word或pdf文件的工具

你是否经常遇到这样的场景:产品运营有着大量的报告需求,或者给客户领导展现每周的运营报告?这些文档类的任务可以交给运营同事,他们负责文档排版和样式,你作为开发人员你只需要提供数据源,和一个映射表&…...

Python+reuqests自动化接口测试

1.最近自己在摸索Pythonreuqests自动化接口测试,要实现某个功能,首先自己得有清晰的逻辑思路!这样效率才会很快! 思路--1.通过python读取Excel中的接口用例,2.通过python的函数调用,get/Post 进行测试&…...

【Java 进阶篇】保护你的应用:Java 过滤器实现敏感词汇过滤

在开发 Web 应用程序时,安全性是至关重要的一环。保护用户免受恶意内容的侵害是开发者义不容辞的责任之一。在这篇博客中,我们将深入研究如何使用 Java 过滤器来过滤敏感词汇,确保用户输入的内容不包含不良信息。我们将采用简单而实用的方法&…...

目标检测网络系列——YOLO V4

文章目录 目标检测技术总结两种优化方向Bag of freebiesBag of specialsYOLO4网络结构网络架构(architecture)的选择基础网络结构的选择网络"插件"的选择。BoF和BoS的选择(Selection of BoF and BoS)YOLO4的其他改进点对比实验不同的特征(数据增强方法)之间的对比det…...

如何在Linux上部署1Panel运维管理面板并远程访问内网进行操作

文章目录 前言1. Linux 安装1Panel2. 安装cpolar内网穿透3. 配置1Panel公网访问地址4. 公网远程访问1Panel管理界面5. 固定1Panel公网地址 前言 1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。高效管理,通过 Web 端轻松管理 Linux 服务器,包括主机监控、…...

CentOS系统安装vsftpd

下载并安装vsftpd apt-get install vsftpd 安装后检查 service vsftpd status 修改配置文件(被动/匿名用户模式) vi /etc/vsftpd.conf anonymous_enableNO listenYES listen_port21 ascii_upload_enableYES ascii_download_enableYES local_enableYES guest_enable…...

手握“发展密钥”,TCL科技或迎价值重估?

在高度竞争且快速变化的泛半导体产业,每一次周期性或结构性的变化,都会对企业经营策略带来深远的影响。 2023年前三季度,泛半导体产业迎来结构性复苏。其中,主流显示领域供需关系趋向健康化,半导体显示行业整体上量价…...

A star算法

1. 算法的理解 1.2 a 星算法的基本的原理 a 星 是一种启发式搜索算法, 用于在地图中的两个目标点之间寻找最短的路径,它结合了最优先搜索和Dijkstra算法的特点,通过考虑从起点到当前点的距离(或者代价 g(n) ) 和估算…...

node插件MongoDB(四)—— 库mongoose 操作文档使用(新增、删除、更新、查看文档)(二)

文章目录 前言(1)问题:安装的mongoose 库版本不应该过高导致的问题(2)重新安装低版本 一、插入文档1. 代码2. node终端效果3. 使用mongo.exe查询数据库的内容 二、删除文档1. 删除一条2. 批量删除3. 代码 三、修改文档…...

JavaFX入门和网格布局面板的使用,Dao层交互,舞台与场景切换以及其他控件的使用

网格布局 将整个面板划分为若干个格子 , 每个格子的大小是一样的 , 每个格子中可以放置一个控件(布局) , 类似于表格的方式。在网格布局 中放入控件的时候 , 还需要指定位置。 GridPane gridPane new GridPane(); 我们将要排出这个布局 , 也就是登陆页…...

数据中台之数据分析

效果界面 技术方案 Notebook集成 在您的数据平台上,创建一个能够与Jupyter Notebook通讯的服务。通过Jupyter Notebook的HTTP API与Notebook实例进行交互,执行代码、获取输出等。用户界面 在数据开发/数据分析的代码框右上方,添加一个机器人样式的图标,用户点击后可以调起…...

龙芯loongarch64服务器编译安装scipy

前言 根据我之前的文章介绍,龙芯loongarch64服务器中的很多python依赖包安装有问题,发现其中安装的"scikit-learn"就无法正常使用,所有这里在 pip3 install scikit-learn -U -i https://pypi.tuna.tsinghua.edu.cn/simple 的时候发现"scipy"就无法正常…...

ubuntu(18.04)中安装open babel docker镜像并在php项目中调用容器中的obabel命令解析结果使用

使用软件: obabel镜像:informaticsmatters/obabel docker:http:// https://www.docker.com/ 安装docker #卸载旧版本sudo apt-get remove docker docker-engine docker-ce docker.io#更新索引包sudo apt-get update#安装 apt 依赖包&…...

02-PostgreSQL的基本使用

一、数据库操作 ①: 登录到数据库 psql -U postgres -d postgres -h 127.0.0.1②:查看所有数据库 \l③: 创建数据库 # 创建一个名为 mydb 的数据库 create database mydb;④:切换数据库 # \c 数据库名 \c mydb⑤:删除数据库 # 删除前 先确保数据库没有被连接 drop databa…...

uniapp 实现路线规划

UniApp是一个跨平台的应用开发框架,可以帮助开发者快速地在多个平台上构建应用程序。其中,实现路线规划是一个常见的需求,特别是对于地图类应用或者出行类应用来说,路线规划功能是非常重要的。 首先引入QQMapWX; impo…...

别再混淆了!用Keil MDK调试Cortex-M3/M4时,MSP和PSP到底怎么切换的?

别再混淆了!用Keil MDK调试Cortex-M3/M4时,MSP和PSP到底怎么切换的? 调试嵌入式系统时,堆栈指针的切换问题常常让开发者头疼。特别是在RTOS环境下,MSP(主堆栈指针)和PSP(进程堆栈指针…...

【限时开源】边缘Docker部署Checklist v3.2(含NVIDIA Jetson/树莓派/国产RK3588适配矩阵)

第一章:边缘Docker部署的核心挑战与演进趋势在资源受限、网络不稳、物理分散的边缘环境中,Docker 容器的部署远非云中心场景的简单平移。轻量化运行时、离线就绪能力、安全可信启动、异构硬件适配以及生命周期自治性,共同构成了边缘容器落地的…...

AWPortrait-Z镜像免配置优势:省去conda环境/模型下载/LoRA加载手动步骤

AWPortrait-Z镜像免配置优势:省去conda环境/模型下载/LoRA加载手动步骤 1. 为什么你需要一个“开箱即用”的人像生成工具? 如果你曾经尝试过自己部署一个AI图像生成项目,大概率经历过这样的“折磨”: 环境搭建地狱:…...

从UVM1.1迁移到1.2,我踩过的那些坑和自动化脚本救星

从UVM1.1到1.2迁移实战:避坑指南与自动化脚本深度解析 当验证工程师面对一个庞大的、基于UVM1.1的验证环境时,版本升级往往意味着无数个不眠之夜。UVM1.2带来的不仅是新特性,更是一系列需要谨慎处理的兼容性问题。本文将分享我在多个项目中积…...

深入解析WeChatFerry:打造企业级微信机器人的5个核心技术要点

深入解析WeChatFerry:打造企业级微信机器人的5个核心技术要点 【免费下载链接】WeChatFerry 微信机器人,可接入DeepSeek、Gemini、ChatGPT、ChatGLM、讯飞星火、Tigerbot等大模型。微信 hook WeChat Robot Hook. 项目地址: https://gitcode.com/GitHub…...

基于DH参数的UR5机械臂PID轨迹跟踪控制及Simscape物理仿真:角度、速度、加速度与力...

UR5机械臂PID轨迹跟踪控制控制,六自由度机械臂simscape物理仿真,需要可以提供DH参数表,坐标系表示,三维模型,可以导出角度,角速度,角加速度以及力矩,误差曲线图机械臂轨迹跟踪这事儿…...

Android 11 应用内更新踩坑记:从DownloadManager到FileProvider的完整避坑指南

Android 11应用内更新全流程实战:权限、存储与安装的现代化解决方案 在移动应用持续迭代的今天,应用内更新功能已成为提升用户体验的关键组件。然而,随着Android 11(API 30)引入的Scoped Storage等隐私保护机制&#x…...

KUKA C2通讯故障排查实录:从‘扫描器出错’到电源电压,我踩过的那些坑

KUKA C2通讯故障排查实战手册:从电源电压到数据一致性的深度解析 当KUKA机器人投入产线运行后,最令人头疼的莫过于那些神出鬼没的通讯故障。作为一名经历过无数次深夜抢修的工程师,我深知一个看似简单的"扫描器出错"背后可能隐藏着…...

手把手教你用FontCreator汉化软件界面和制作中文图标字体(保姆级避坑指南)

手把手教你用FontCreator打造专业级中文图标字体 在数字化设计领域,图标字体已经成为提升用户体验的利器。无论是开发者的后台管理系统,还是设计师的PPT演示文稿,一套风格统一、加载迅速的图标字体能让界面瞬间专业起来。而FontCreator作为字…...

保姆级教程:手把手教你用ROS驱动Ouster OS1激光雷达(含编译避坑指南)

ROS实战:Ouster OS1激光雷达从驱动配置到高级应用全解析 激光雷达作为机器人感知环境的核心传感器,其性能与集成效率直接影响着SLAM、导航等关键系统的表现。Ouster OS1系列凭借出色的性价比和稳定的性能,已成为众多机器人开发团队的首选。本…...