DML数据操纵语言
DML数据操纵语言
目录
- 概述
- 一、插入语句
- (一)方式一
- (二)方式二:
- (三)两种方式的比较
- 二、修改语句
- 三、删除语句
- 概述
- 方式一:delete
- 方式二:truncate语句 【清空语句】
- delete VS truncate 【面试题!!!】
概述
数据操作语言:
插入:insert
修改:update
删除:delete
一、插入语句
(一)方式一
- 语法:
insert into 表名(列名,……) value(值1,……) - 特点:
- 要求值的类型和字段的类型必须一致或兼容
- 字段的个数和顺序不一定与原始表中的字段个数和顺序一致,但必须保证值和字段一一对应
- 假如表中有可以为null的字段,注意可以通过以下两种方式插入null值
①字段和值都省略
②字段不省略,值对应写null - 字段和值的个数必须一致
- 字段名可以省略,此时默认所有列
use girls;
- 插入的值得类型要与列的类型一致或者兼容
insert into beauty(id,name,sex,borndate,phone,photo,boyfriend_id) value(13,'唐艺昕','女','1990-4-23','13853884820',null,2); select * from beauty;
- 可以为null的列应该如何插入值(注:不能为null的值必须插入值)
- 方式一:对应列名写null
insert into beauty(id,name,sex,borndate,phone,photo,boyfriend_id) value(14,'金星','女','1980-7-23','13853584826',null,9);
- 方式二:列名和null均省略
insert into beauty(id,name,sex,phone) value(15,'娜扎','女','13356789987');
- 方式一:对应列名写null
- 列的顺序可以调换 【一一对应即可】
insert into beauty(name,sex,id,phone) value('蒋欣','女','16','13978894567');select *from beauty;
- 列数和值的个数必须一致
insert into beauty(id,name,sex,phone) value(17,'关晓彤','女','13853586857');
- 可以省略列名,默认所有列,而且列的顺序和表中列的顺序是一致的
insert into beauty values(18,'LYH','男',null,'13009991313',null,null);
(二)方式二:
语法:
insert into 表名
set 列名=值,列名=值,……;
insert into beauty set id=19,name='刘涛',phone='18830475643';
(三)两种方式的比较
-
方式一支持插入多行,方式二不支持
insert into beauty value(23,'唐艺昕1','女','1990-4-23','13853884820',null,2),(24,'唐艺昕2','女','1990-4-23','13853884820',null,2),(25,'唐艺昕3','女','1990-4-23','13853884820',null,2);select *from beauty;
-
方式一支持子查询,方式二不支持
insert into beauty(id,name,phone) select '20','李一桐','13456243455';
二、修改语句
- 修改单表的记录
语法:
update 表名
set 列=新值,列=新值,……
where 筛选条件; - 修改多表的记录 【补充】
语法:- sql92语法:
update 表1 别名1,表2,别名2
set 列=值,……
where 连接条件 and 筛选条件; - sql99语法:
update 表1 别名1
inner|left|right| join 表2 别名2
on 连接条件
set 列=值,……
where 筛选条件;
- sql92语法:
- 修改单表的记录
#案例1:修改beauty表中姓唐的女神的电话为13899888899 set sql_safe_updates=0; update beauty set phone='13899888899' where name like '唐%'; select * from beauty; #案例2:修改boys表中的id=2的名称为张飞,userCP=10 select * from boys; update boys set boyName='张飞',userCP=10 where id=2;
- 修改多表的记录
#案例1:修改张无忌的女朋友的手机号为114 update boys bo inner join beauty b on b.boyfriend_id = bo.idset b.phone='114' where bo.boyName='张无忌'; update boys bo,beauty b set b.phone='114' where b.boyfriend_id=bo.id and bo.boyName='张无忌'; select * from beauty; #案例2:修改没有男朋友的女神的的男朋友编号都改为2 update beauty b left join boys bo on b.boyfriend_id=bo.id set boyfriend_id=2 where bo.id is null;
三、删除语句
以行为单位删除
概述
方式一:delete
语法:
1、单表的删除
delete from 表名 where 筛选条件
2、多表的删除(级联删除)
sql92语法
delete 别名1 【,别名2 】from 表1 别名1,表2 别名2 where 连接条件 and 筛选条件
sql99语法
delete 别名1 【,别名2 】from 表1 别名1 inner|left|right join 表2 别名2 on 连接条件 where 筛选条件
方式二:truncate
语法:
truncate table 表名;
方式一:delete
1、单表的删除
#案例1:删除手机号以9结尾的女神的信息
use girls;
delete from beauty where phone like '%9';
select * from beauty;
2、多表的删除
#案例2:删除张无忌的女朋友的信息
delete b from beauty b inner join boys bo on b.boyfriend_id=bo.id where bo.boyname='张无忌';
#案例3:删除黄晓明的信息以及他女朋友的信息
delete b,bo from beauty b inner join boys bo on b.boyfriend_id = bo.id where bo.boyname='黄晓明';
select * from beauty;
select * from boys;
方式二:truncate语句 【清空语句】
truncate不能和where搭配,当truncate用于删除整张表时,他的效率比delete要高
delete VS truncate 【面试题!!!】
- delete可以加where条件,但truncate不能
- truncate删除效率更高一些
- 假如要删除的表中自增长列,
如果用delete删除后,再插入数据,自增长列的值从断点开始,
而truncate删除后,再插入数据,自增长列的值从1开始 - truncate删除没有返回值,delete删除有返回值(能返回受影响的行数)
- truncate删除不能回滚,delete删除可以回滚
- 使用delete进行删除
select * from boys; delete from boys; insert into boys(boyname,userCP) values('张飞',100),('刘备',140),('关云长',120);
- 【补充】delete可以搭配limit使用
语法:delete from 表名 【where 筛选条件】 【limit 条目数】
案例use girls; select * from beauty; delete from beauty limit 1;#beauty表中第一条数据被删除 delete from beauty where boyfriend_id = 9 limit 1;#虽然符合筛选条件的记录有多个但是只删除了第一条。
相关文章:
DML数据操纵语言
DML数据操纵语言 目录概述一、插入语句(一)方式一(二)方式二:(三)两种方式的比较二、修改语句三、删除语句概述方式一:delete方式二:truncate语句 【清空语句】delete VS truncate 【面试题!!!】概述 数据…...

【Hello Linux】Linux工具介绍 (gcc/g++ gdb)
作者:小萌新 专栏:Linux 作者简介:大二学生 希望能和大家一起进步! 本篇博客简介:介绍Linux的常用工具gcc/g 以及gbd Linux工具介绍gcc / ggcc / g的作用为什么语言要经过这四步才能变为可执行指令gcc / g语法预处理编…...

TeamFiltration:一款针对O365 AAD账号安全的测试框架
关于TeamFiltration TeamFiltration是一款针对O365 AAD账号安全的跨平台安全测试框架,在该工具的帮助下,广大研究人员可以轻松对O365 AAD账号进行枚举、喷射、过滤和后门植入等操作。TeamFiltering与CrackMapExec非常相似,它可以创建并维护一…...

你是真的“C”——Visual Studio 2022(VS2022)编译器 -—实用调试技巧
你是真的“C”——Visual Studio 2022(VS2022)编译器 -—实用调试技巧😎前言🙌1. 什么是bug?🙌2. 调试是什么?有多重要?🙌2.1 调试是什么?2.2 调试的基本步骤…...

数据结构与算法:7种必须会的排序以及3种非基于比较排序
1.什么是排序 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序…...
数据库用户数
Oracle的用户数 oracle软件内部并没对用户数做限制,买5个用户数,指你买了5个user licences,从法律上只能连5个session,超过5个的连接都是非法的。oracle不给你技术上的限制,可是给你法律上的限制。 一般来讲…...

nginx如何用html显示多个图片并加入播放链接
需求背景通过nginx来做个点播服务,ffmpeg截取视频中的某一帧作为视频的封面,前端页面展示这个封面,,并链接到对应的视频播放链接,加载播放器进行播放简单介绍一下ffmpeg截取视频中的某一帧的方式截取视频的第一帧&…...
【蓝桥杯集训·每日一题】Acwing 3729. 改变数组元素
文章目录一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解三、知识风暴一维差分区间合并一、题目 1、原题链接 3729. 改变数组元素 2、题目描述 给定一个空数组 V 和一个整数数组 a1,a2,…,an。 现在要对数组 V 进行 n 次操作。 第 i 次操作的…...

springmvc执行流程
文章目录前言一、springMVC请求执行流程二、组件说明以下组件通常使用框架提供实现:总结前言 本篇文章是对springmvc的补充 接上篇文章springmvc入门https://blog.csdn.net/l_zl2021/article/details/127120873 一、springMVC请求执行流程 1.用户发送请求至前端控制…...

SpringMVC(2)
一)接受到JSON格式的数据:使用RequestBody来进行接收 ResponseBody表示的是返回一个非页面的数据 RequestBody表示的是后端要接受JSON格式的数据 一)接收单个格式的JSON格式的数据,我们使用一个对象来进行接收 1)我们之前接受GET请求中的queryString中的参数的时候&…...
Jackson序列化json时null转成空串或空对象
在项目中可能会遇到需要将null转"",可以通过以下方法解决。一:添加JacksonConfig 配置import com.fasterxml.jackson.core.JsonGenerator;import com.fasterxml.jackson.databind.JsonSerializer;import com.fasterxml.jackson.databind.Objec…...
如何将Python的上级目录的文件导入?【from.import】
假如有如下目录: -python ----file1 ---------file1_1 ------------------pfile1_1.py ---------pfile1.py ----file2 ---------pfile2.py ----pfile.py ----data.py 在pfile1_1.py中想要将pfile.py 导入怎么办? 首先将其上级目录添加到系统目…...

Java实现碧蓝航线连续作战
目录一.实现功能二.主要思路三.代码实现四.用exe4j生成.exe程序五.最终效果六.代码开源一.实现功能 主线图作战结束到结算页自动点击再次前往 二.主要思路 判断是否进入了结算界面:记录结算界面某个像素点的RGB值,每隔3秒对这个像素点进行比对 移动鼠标…...

Docker笔记
文章目录1.docker为什么会出现2.docker是什么3.传统虚拟机和容器的对比3.1虚拟机3.2容器虚拟化技术3.3两者对比3.4为什么Docker会比VM虚拟机快?4.docker能干嘛6.docker的应用场景7.docker三要素一:镜像(Image)二:容器&…...

情人节使用AI TOOL来创建一个甜言蜜语的女伴
一、首先使用chatgpt生成一段情侣间的对话,需要反复几次,达到满意的程度,然后将女方的话归在一起。 这是一个情侣私下谈话的场景,女方表示对男朋友精心准备的情人节安排和礼物表示很满意 二、 打开网站:https://lexic…...

G-GhostNet(IJCV 2022)原理与代码解析
paper:GhostNets on Heterogeneous Devices via Cheap Operationscode:https://github.com/huawei-noah/Efficient-AI-Backbones/blob/master/g_ghost_pytorch/g_ghost_regnet.py前言本文提出了两种轻量网路,用于CPU端的C-GhostNet和用于GPU端…...

Ethercat系列(5)TWcat3激活过程的协议分析(续1)
顺序写系统时间偏移从-》主顺序写时间延迟主-》从从-》主顺序写分布式时钟启动主-》从从-》主读多重写系统时间主-》从从-》主顺序写应用层控制主-》从从-》主顺序读错误计数器主-》从从-》主顺序读应用层状态主-》从从-》主顺序读应用层,广播写错误计数器主-》从从…...

QT入门Input Widgets之QScrollBar
目录 一、界面布局功能 1、界面位置介绍 2、控件界面基本属性 2.1 horizontalScrollBar界面属性 3、样式设置 此文为作者原创,创作不易,转载请标明出处! 一、界面布局功能 1、界面位置介绍 QScrollBar主要分为两种,一种垂直…...
【ML】基于机器学习的心脏病预测研究(附代码和数据集,多层感知机模型)
写在前面: 首先感谢兄弟们的订阅,让我有创作的动力,在创作过程我会尽最大努力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。 之前创作过心脏病预测研究文章如下: 【ML】基于机器学习的心脏病预测研究(附代码和数据集,逻辑回归模型) 【ML】基于机…...

工序排序问题--约翰逊法精讲
什么是约翰逊法?约翰逊法是作业排序中的一种排序方法。选出最短加工时间i*,若最短加工时间有多个,任选1个.若i*出现在机床1,它对应的工件先安排加工,否则放在最后安排,安排后划去该工件,重复上两个步骤,直…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...

【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...

网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...

打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用
一、方案背景 在现代生产与生活场景中,如工厂高危作业区、医院手术室、公共场景等,人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式,存在效率低、覆盖面不足、判断主观性强等问题,难以满足对人员打手机行为精…...

PHP 8.5 即将发布:管道操作符、强力调试
前不久,PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5!作为 PHP 语言的又一次重要迭代,PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是,借助强大的本地开发环境 ServBay&am…...

关于easyexcel动态下拉选问题处理
前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...