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

三、MySQL 高级(DML 增删改)

三、MySQL 高级(DML 增删改)

3.1 DML 数据操纵语言

DML(Data Manipulation Language)DML对数据库中表记录的执行操作

  • 插入(INSERT)

    • 插入单行数据

    • 插入多行数据

    • 将查询结果插入到新表

  • 更新(UPDATE)

  • 删除(DELETE)

软件开发人员日常使用最频繁的操作,必备技能!!!


3.2 插入数据

  • INSERT 一次向表中插入一条记录
INSERT INTO 表名 [(字段名列表)]  VALUES (值列表);
# 增
INSERT into gradeinfo (grade) VALUES ('ACCP');
  • 字段名是可选的,如省略,则依次插入所有字段

  • 多个列表和多个值之间使用逗号分隔

  • 值列表和字段名列表一 一对应

  • 如果插入表中的部分字段数据,则字段名列表必填

  • 每个数据值的数据类型、精度和小数位数必须与相应的列匹配

  • 不能为标识列指定值(主键)

  • 如果在设计表的时候就指定了某列不允许为空,则必须插入数据

  • 如果字段具有默认值,可以使用DEFAULT关键字来代替插入的数值

  • INSERT 一次向表中插入多行数据
INSERT INTO 表名 [(字段名列表)] VALUES (值列表1), (值列表2), (值列表n);
# 增
INSERT INTO gradeinfo (grade) VALUES ('ACCP'),('BCSP');

为避免表结构发生变化引发的错误,建议插入数据时写明具体字段名!

  • INSERT 将查询结果插入到新表
INSERT INTO 表名(字段1,字段2 , ……) SELECT 字段1,字段2 , …… FROM 原表;
# 事先创建且与插入数据字段相符
CREATE TABLE patient_address (SELECT  patientName, address  FROM patient ) ;
# 无须事先创建

如果新表已存在,将会报错!


3.3 更新数据

  • UPDATE 更新数据记录
UPDATE 表名 SET 字段1=值1, 字段2=值2, …, 字段n=值n [WHERE 条件];
# 更新表数据
UPDATE gradeinfo SET gradeinfo.grade='BCSP' WHERE gradeinfo.id=2;

3.4 删除数据

  • DELETE 删除数据记录
DELETE FROM 表名 [WHERE条件];
# 删除表信息
DELETE FROM patient WHERE patientID =1

DELETE条件删除语句中,如果未指定WHERE条件语句,则将删除表中的所有数据

DELETE FROM gradeinfo WHERE gradeinfo.id=1;
  • TRUNCATE 格式化表记录
TRUNCATE TABLE 表名;
# 格式化表
TRUNCATE TABLE gradeinfo;

使用 TRUNCATE 语句删除表中记录后,将重置自增列,表结构及其字段、约束、索引保持不变,执行速度比 DELETE 语句快

3.5 比较 DROP、DELETE 与 TRUNCATE 语句

DROPDELETETRUNCATE
类型DDL 会隐式提交,不能回滚DML 每次从表中删除一行数据的同时将改行的删除操作记录在redo和undo表空间中,以便进行回滚和重做操作 需要手动提交操作才能生效,可通过ROLLBACK撤销操作DDL 会隐式提交,不会记录日志,不能回滚
功能删除表结构及所有数据,并将标所占用的空间全部释放可根据条件删除表中满足条件的数据,如果不指定WHERE子句,则删除表中所有记录删除表中所有记录,并将重建表结构
  • 执行速度

    • 一般来说,DROP>TRUNCATE>DELETE
  • 使用 DROP、TRUNCATE 语句时,要慎重

  • 如果使用 DELETE 语句删除表中部分数据要带上 WHERE 子句,且要注意表空间要足够大

  • 如果要删除表,使用 DROP 语句

  • 如果要保留表但删除表中所有数据,如果与事务无关可以使用 TRUNCATE 语句

  • 如果与事务有关,则使用 DELETE 语句


相关文章:

三、MySQL 高级(DML 增删改)

三、MySQL 高级(DML 增删改) 3.1 DML 数据操纵语言 DML(Data Manipulation Language)DML对数据库中表记录的执行操作 插入(INSERT) 插入单行数据 插入多行数据 将查询结果插入到新表 更新&#xff08…...

面向AI编程的本质是什么?

面向AI编程的本质是什么? 面向AI编程的本质是编程的第五代编程语言,与自然语言非常相似,但是是有区别的。 因此出现了针对与AI通话的提示工程。 简单地回顾一下编程语言的发展史, 第一代编程语言是机器语言,它直接使…...

深入浅出——深度学习训练中的warmup

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…...

你知道如何用C语言将格式化数据和字符串相互转换吗?

今天重点介绍2个函数,分别是sprintf和sscanf,用来将格式化数据和字符串相互转换。它们的作用分别是: sprintf函数用于将格式化数据转换成字符串。sscanf函数用于将字符串转换成格式化数据。 接下来是第一个大问题:我怎么记忆呢&…...

免费一键生成原创文章-原创文章批量生成

免费使用一键生成原创文章,轻松解决写作难题! 您是否因为写作枯竭、文章档次不高,而感到烦恼?现在,我们有一个免费的文章创作工具,帮助您无需付出太多的努力就能高效地创造原创文章。 一键生成&#xff1…...

【数据库管理】④重做日志Redo Log

1. Redo log(重做日志)的功能 重做日志(Redo log)是数据库管理系统中的一种机制,主要作用包括: 提供事务的持久性支持:重做日志记录了每个事务对数据库所做的修改操作,以便在系统故障或崩溃时,通…...

5-python文件操作

文章目录1.打开文件2.文件读取3.文件关闭4.文件写入/追加1.打开文件 当传参顺序不一致时,不能使用位置传参,应使用关键字传参 open(file, mode‘r’, buffering-1, encodingNone, errorsNone, newlineNone, closefdTrue, openerNone) 通常使用&#xf…...

企业级Oracle入门Linux/Unix基础①

1、了解计算机系统的组成、操作系统介绍、IT技术发展与云计算、服务器的分类、存储设备介绍、常用的主机存储有哪些? 1.1 计算机系统的组成: 计算机系统由硬件和软件两部分组成。硬件包括中央处理器(CPU)、内存、输入输出设备、…...

NexNoSQL Client:Elasticsearch、Redis、MongoDB三合一的可视化客户端管理工具

背景: 工作中我们使用了Elasticsearch作为存储,来支持内容的搜索,Elasticsearch这个软件大家都耳熟能详,它是一个分布式、高扩展、高实时的搜索与数据分析引擎,不仅仅支持文本索引,还支持聚合操作&#xf…...

如果大学能重来,我绝对能吊打90%的大学生,早知道这方法就好了

最近收到很多大学生粉丝的私信,大多数粉丝们都迷茫着大学计算机该怎么学,毕业后才能找到好工作。 可能是最近回答这方面的问题有点多,昨晚还真梦回大学…其实工作了20多年,当过高管,创过业,就差没写书了。…...

FactoryBean是现在的执行时机

调用getBean方法,最终到org.springframework.beans.factory.support.DefaultListableBeanFactory#preInstantiateSingletons方法: for (String beanName : beanNames) {RootBeanDefinition bd getMergedLocalBeanDefinition(beanName);if (!bd.isAbstr…...

自定义注解使用

现象: 自定义注解使用 方法: 1:元注解 java.lang.annotation 下定义了元注解 Documented 文档相关 标注了此注解则会包含在javadoc文档中Retention 指定注解生命周期Target 指定注解作用范围Inherited 指定子类可以继承父类的注解Native …...

2023年全国最新高校辅导员精选真题及答案42

百分百题库提供高校辅导员考试试题、辅导员考试预测题、高校辅导员考试真题、辅导员证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 89.侵犯行为是一种故意伤害他人的行为,一般包括了动机、行为和后果。 答案&a…...

Python模拟星空

文章目录前言Turtle基础1.1 Turtle画板1.2 Turtle画笔1.3 Turtle画图1.4 Turtle填色1.5 Turtle写字模拟星空模拟星球浪漫星空尾声前言 Python模拟星空,你值得拥有!uu们一周不见啦,本周博主参考网上大佬们的星空,给大家带来了属于…...

IDE集成开发工具-IDEA(一)之IDE的概念

IDE的概念 集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开…...

基于Java+Springboot+vue的汽车租赁系统设计与实现【源码(完整源码请私聊)+论文+演示视频+包运行成功】

博主介绍:专注于Java技术领域和毕业项目实战 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟 Java项目精品实战案例(200套) 目录 一、效果演示 二、…...

【笔记】关于Maven中<optional>标签的理解

之前我有个误区&#xff1a;子pom通过<parent>标签继承父pom&#xff0c;如果父pom中的依赖设置<optional>true</optional> <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version&g…...

JavaScript函数及面向对象

JavaScript函数及面向对象 4.1、函数定义及变量作用域 定义方式一 绝对值函数 function abs(x){if(x>0){return x;}else{return -x;} }一旦执行到return代表函数结束&#xff0c;返回结果&#xff01; 如果没有执行return&#xff0c;函数执行完也会返回结果&#xff0c;…...

【chartGPT】我们要不要搞chartGPT?

话题:官兔子并未表态要研发chartGPT&#xff0c;chartGPT炒的很火&#xff0c;我们到底要不要投入研发呢&#xff1f; 问题起因:我个人是做技术的&#xff0c;也玩炒股。就昨天吧&#xff0c;看到一个热评【马斯克等呼吁暂停chartGPT5的研发&#xff0c;周鸿炜谈不发展才是最大…...

java——date时间类型操作

目录 1.date类型使用 2.获取想要的自定义时间点 3.date类型与String类型转换 4.date时间先后比较 1.date类型使用 在java中&#xff0c;日期时间用java.util.Date类来表示&#xff0c;调用默认构造器Date()&#xff0c;将会创建一个当前系统时间的Date对象&#xff0c;时间…...

应急响应——IDSIPSmsf流量后门分析

目录 0x01 网页篡改与后门攻击防范应对指南 0x02 主要需了解:日志存储,Webshel检测,分析思路等...

项目二:电子骰子

项目二&#xff1a;电子骰子 文章目录项目二&#xff1a;电子骰子一、导入(5分钟&#xff09;学习目的二、新授(65分钟)1.预展示结果(5分钟)2.本节课所用的软硬件(5分钟)3.硬件介绍(1分钟)4.图形化块介绍(1分钟)5.单个模块的简单使用(1分钟)6.电子骰子编程逻辑分析(25分钟)7.电…...

D. Genius‘s Gambit(很多情况)

Problem - D - Codeforces 已知三个整数a b k。求两个二进制整数z和y ( > y)满足1. y都由a个0和b个1组成;2. X - y(也是二进制形式)恰好有k个1。z和y不允许使用前导零。输入唯一的一行包含三个整数a, b和k (0 <a;1 <b;0<k < ab< 2- 105) -结果中0、1和1的个数…...

jsp824汽车维修保养管理系统javaEE+mysql

主要实现 1&#xff0e;车主信息管理&#xff1a;管理员发布车主信息后&#xff0c;普通用户查询到该车主信息&#xff0c;用户选择某个车主信息&#xff0c;查询车主信息&#xff0c;管理员审核添加&#xff0c;或删除车主信息。 2&#xff0e;保养信息管理&#xff1a;管理员…...

Linux下C/C++ redis协议(RESP)解析

Redis是一个开源的内存键值数据存储&#xff0c;最常用作主数据库、缓存、消息代理和队列。Redis提供了亚毫秒的响应时间&#xff0c;在游戏、金融科技、广告技术、社交媒体、医疗保健和物联网等行业实现了快速而强大的实时应用。 Redis连续五年成为开发人员最喜爱的数据库。开…...

IDEA 性能优化设置

在我们日常使用IDEA进行开发时&#xff0c;可能会遇到许多卡顿的瞬间&#xff0c;明明我们的机器配置也不低啊&#xff1f;为什么就会一直卡顿呢&#xff1f; “ 原来这是因为IDEA软件在我们安装的时候就设置了默认的内存使用上限&#xff08;通常很小&#xff09;&#xff0c;…...

蓝桥杯刷题冲刺 | 倒计时4天

作者&#xff1a;指针不指南吗 专栏&#xff1a;蓝桥杯倒计时冲刺 &#x1f43e;倒计时4天&#xff0c;冲冲冲&#xff01;&#xff01;&#xff01;&#x1f43e; 文章目录1.整除序列2.走方格3.前缀和4.差分矩阵5.翻硬币1.整除序列 题目 链接&#xff1a; 2065. 整除序列 - Ac…...

阿里测试7年经验,从功能测试到自动化测试,我整理的超全学习指南

做测试七年多&#xff0c;有不少人问过我下面问题&#xff1a; 现在的手工测试真的不行了吗&#xff1f;测试工程师&#xff0c;三年多快四年的经验&#xff0c;入门自动化测试需要多久&#xff1f;自学自动化测试到底需要学哪些东西&#xff1f;不得不说&#xff0c;随着行业的…...

jar加密后当作SDK给别人使用(可maven引入)

1、不加密jar&#xff0c;进行提取公共代码&#xff0c;打成jar包&#xff0c;并用maven引入 参考文章&#xff1a;以maven添加依赖的方式导入自己写的项目。springboot 提取公共类&#xff0c;多服务共用 2、加密jar&#xff0c;使用ClassFinal进行jar的加密 官网地址:Clas…...

【编程基础】032、C语言中结构体在解题中的应用

文章目录C语言中结构体在解题中的应用1、结构体之时间设计2、结构体之成绩记录3、结构体之成绩统计2C语言中结构体在解题中的应用 1、结构体之时间设计 题目描述 定义一个结构体变量&#xff08;包括年、月、日&#xff09;。计算该日在本年中是第几天&#xff0c;注意闰年问…...