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,它对应的工件先安排加工,否则放在最后安排,安排后划去该工件,重复上两个步骤,直…...
【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...
springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...
Pydantic + Function Calling的结合
1、Pydantic Pydantic 是一个 Python 库,用于数据验证和设置管理,通过 Python 类型注解强制执行数据类型。它广泛用于 API 开发(如 FastAPI)、配置管理和数据解析,核心功能包括: 数据验证:通过…...
何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡
何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡 背景 我们以建设星云智控官网来做AI编程实践,很多人以为AI已经强大到不需要程序员了,其实不是,AI更加需要程序员,普通人…...
