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

DML数据操纵语言

DML数据操纵语言

目录

    • 概述
    • 一、插入语句
      • (一)方式一
      • (二)方式二:
      • (三)两种方式的比较
    • 二、修改语句
    • 三、删除语句
      • 概述
      • 方式一:delete
      • 方式二:truncate语句 【清空语句】
      • delete VS truncate 【面试题!!!】

概述

数据操作语言:
插入:insert
修改:update
删除:delete

一、插入语句

(一)方式一

  • 语法:
    insert into 表名(列名,……) value(值1,……)
  • 特点:
    1. 要求值的类型和字段的类型必须一致或兼容
    2. 字段的个数和顺序不一定与原始表中的字段个数和顺序一致,但必须保证值和字段一一对应
    3. 假如表中有可以为null的字段,注意可以通过以下两种方式插入null值
      ①字段和值都省略
      ②字段不省略,值对应写null
    4. 字段和值的个数必须一致
    5. 字段名可以省略,此时默认所有列
use girls;
  1. 插入的值得类型要与列的类型一致或者兼容
    insert into beauty(id,name,sex,borndate,phone,photo,boyfriend_id) 
    value(13,'唐艺昕','女','1990-4-23','13853884820',null,2);
    select * from beauty;
    
  2. 可以为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');
      
  3. 列的顺序可以调换 【一一对应即可】
     insert into beauty(name,sex,id,phone) value('蒋欣','女','16','13978894567');select *from beauty;
    
  4. 列数和值的个数必须一致
    insert into beauty(id,name,sex,phone) value(17,'关晓彤','女','13853586857');
    
  5. 可以省略列名,默认所有列,而且列的顺序和表中列的顺序是一致的
    insert into beauty values(18,'LYH','男',null,'13009991313',null,null);
    

(二)方式二:

语法:

insert into 表名 
set 列名=,列名=,……;
insert into beauty set id=19,name='刘涛',phone='18830475643';

(三)两种方式的比较

  1. 方式一支持插入多行,方式二不支持

    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;
    
  2. 方式一支持子查询,方式二不支持

     insert into beauty(id,name,phone) select '20','李一桐','13456243455';
    

二、修改语句

  1. 修改单表的记录
    语法:
    update 表名
    set 列=新值,列=新值,……
    where 筛选条件;
  2. 修改多表的记录 【补充】
    语法:
    • sql92语法:
      update 表1 别名1,表2,别名2
      set 列=值,……
      where 连接条件 and 筛选条件;
    • sql99语法:
      update 表1 别名1
      inner|left|right| join 表2 别名2
      on 连接条件
      set 列=值,……
      where 筛选条件;
  • 修改单表的记录
    #案例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 【面试题!!!】

  1. delete可以加where条件,但truncate不能
  2. truncate删除效率更高一些
  3. 假如要删除的表中自增长列,
    如果用delete删除后,再插入数据,自增长列的值从断点开始,
    而truncate删除后,再插入数据,自增长列的值从1开始
  4. truncate删除没有返回值,delete删除有返回值(能返回受影响的行数)
  5. 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不给你技术上的限制,可是给你法律上的限制。 一般来讲&#xf…...

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,它对应的工件先安排加工,否则放在最后安排,安排后划去该工件,重复上两个步骤,直…...

WebDAV之葫芦儿·派盘+网盘精灵

网盘精灵 支持WebDAV方式连接葫芦儿派盘。 推荐一款让您的iPhone、iPod、iPad 变成WebDav客户端的软件,支持从WebDav服务器连接葫芦儿派盘服务进行上传和下载件。 网盘精灵让您的iPhone、iPod、iPad 变成WebDav客户端。功能:WebDav操作、文件共享、本地文件管理...

计算机网络期末知识点总结

计算机网络期末知识点总结第四章—网络层:数据面4.1概述4.2虚电路和数据报网络4.3路由器工作原理4.4网际协议:因特网中的转发和编址第五章 网络层:控制面5.1路由选择算法5.2路由器中的路由选择5.3广播和多播路由选择第六章 链路层&#xff08…...

【Vue3 组件封装】vue3 轮播图组件封装

文章目录轮播图功能-获取数据轮播图-通用轮播图组件轮播图-数据渲染轮播图-逻辑封装轮播图功能-获取数据 目标: 基于pinia获取轮播图数据 核心代码: (1)在types/data.d.ts文件中定义轮播图数据的类型声明 // 所有接口的通用类型 export typ…...

电力国家(行业)标准目录

1、3~63kV交流高压负荷开关 GB 3804-90 代替 GB 3804-882、电气装置安装工程35kV及以下架空电力线路施工及验收规范Code for construction and acceptance of 35kVand umder over head power levels electricequipment installation engineeringGB50173—923、带电作…...

如何实现倒序输出

问题 如何实现字符串的大小写转换并倒序输出。 方法 采用Java自带的类方法进行倒序。 package homework4; public class Blog09 { public static void main(String[] args) { String a "HelloWord"; String a2 a.toUpperCase(); String a3 …...

遗留系统的自动化测试策略和实践方法

1 什么是遗留系统 遗留系统是一种旧的方法、旧的技术、旧的计算机系统或应用程序,属于或与以前的、过时的计算机系统有关,但仍在使用中。通常,将系统称为“遗留系统”意味着它可能已经过时或需要更换,但是系统还在对外提供服务,还在不断的迭代,有新的需求不断的交付。Ma…...

【Android】系统源码下载及编译

源码及编译 步骤 1:创建一个空目录来存放源码: mkdir aosp cd aosp步骤 2:获取最新版本的 repo 并签出 android-8.1.0_r1 分支: repo init -u https://android.googlesource.com/platform/manifest -b android-8.1.0_r1其中&am…...

基于HTML实现浪漫情人节表白代码(附源代码)

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…...

PCL 平面拟合——RANSAC

文章目录 一、基本思想二、代码示例1、参数选择2、核心代码3、完整代码4、结果展示三、关于 RANSAC 的一些思考参考文献一、基本思想 随机抽样一致性算法RANSAC(Random sample consensus)是一种迭代的方法,从一系列包含有离群值的数据中计算数学模型参数的方法。RANSAC算法本…...

【Linux之Shell脚本实战】监控系统的磁盘空间使用率

【Linux之Shell脚本实战】监控系统的磁盘空间使用率 一、脚本要求二、检查本地系统环境1.检查系统版本2.检查系统内核版本三、编写disk.sh脚本1.创建脚本目录2.编写disk.sh脚本3.执行测试脚本四、查看脚本执行日志文件五、本次实践总结1.脚本定时执行2.实践总结一、脚本要求 1.…...

做app还是做微网站好/武汉网站竞价推广

树莓派Pico板子里有一个内置的温度传感器,它与一个模数转换器(ADC)相连,通道编号为4,Pico里模数转换器的数值范围为12位整数,但MicroPython把范围映射到16位,也就是从0到65535,微处理器的工作电压是3.3V&am…...

建设门户网站/百度官网入口

看完jobily 发的日志后,我想在这发表下我的看法。 先扯点话题,我注册博客园的账号3年了。园龄:3年。但是很少在这上面发表文章。我一直很喜欢在博客园逛,喜欢看人家些的日志,有时候收获甚大。 我之所以很少在上面发表文…...

网站建设管理工作总结报告/软文文案案例

1.Android 5.0 删除ActionBar下面的阴影 于Android 5.0假设你发现的ActionBar下面出现了阴影&#xff0c;例如&#xff0c;下面的设置&#xff0c;以消除阴影&#xff1a; getActionBar().setElevation(0); Android 5.0之前能够用以下代码消除阴影&#xff1a; <item name&q…...

枣庄专业做网站/seo优化的价格

链接&#xff1a;https://ac.nowcoder.com/acm/contest/330/E 来源&#xff1a;牛客网 题目描述 精通程序设计的 Applese 叕写了一个游戏。 在这个游戏中&#xff0c;有一个 n 行 m 列的方阵。现在它要为这个方阵涂上黑白两种颜色。规定左右相邻两格的颜色不能相同。请你帮它统…...

甘肃省级建设主管部门网站/百度网站流量查询

简介 splay tree其实就是不停的旋转&#xff0c;没进行一个操作都要进行旋转&#xff1b;例如&#xff0c;当访问某一个结点的时候&#xff0c;会通过旋转其结点使得该结点变为树根&#xff0c;这样保证其的平均复杂度为O(nlogn); 其的操作包括&#xff1a; 查找&#xff1a;如…...

有哪些做微场景的没费网站/微信怎么推广自己的产品

js日历农历Vue月球全日历 (vue-lunar-full-calendar) Chinese lunar calendar for Fullcalendar. Fullcalendar的中国农历。 View Demo 查看演示 View Github 查看Github 图片和演示 (Image and demo) a vue component for lunar fullcalendar. Uses Moment.js for date opera…...