DML 数据操纵语言学习笔记

一、DML 核心概念体系

1.1 语言定位与边界

DML(Data Manipulation Language)作为 SQL 三大核心语言之一,专注于数据行级操作,区别于 DDL(结构定义)和 DCL(权限控制)。其核心指令包括:

  • 增:INSERT
  • 删:DELETE
  • 改:UPDATE
  • 查:SELECT(部分教材归为 DQL)

1. 2INSERT 语句基本概念

INSERT 语句是 DML(数据操纵语言)中用于向数据库表中添加新数据的指令。它能将一行或多行数据插入指定表,有多种使用方式。

全字段插入

使用这种语法时,要确保提供的值的顺序和数量与表中字段的顺序和数量一致。
示例:

批量插入

该语法可以一次性插入多行数据,提高插入效率。
示例:


1.3DELETE 语句基本概念

DELETE 语句是 DML(数据操纵语言)里用于从数据库表中移除数据的指令。它能根据指定条件删除一行或多行数据,也可清空整个表的数据。

通过 WHERE 子句可以指定删除数据的条件,只有满足该条件的数据行才会被删除。
示例:假设存在一个名为 employees 的表,包含 idname 和 department 字段。要删除部门为 'HR' 的所有员工记录,可以使用以下语句:

若省略 WHERE 子句,会删除表中的所有数据,但表结构仍然保留。不过要注意,使用此语句时,数据库会逐行删除数据,并且会记录事务日志,所以在处理大量数据时效率可能较低。

 注意要点

  • 谨慎使用无 WHERE 条件的 DELETE:因为它会删除表中的所有数据,一旦执行,可能会造成数据的永久性丢失。

1.4UPDATE 语句

基础语法形式

  • SET子句用于指定要更新的字段及其新值。
  • WHERE子句是可选的,如果省略,将更新表中的所有行。
示例

假设存在一个名为products的表,包含idnamepricequantity字段。

  • 更新满足特定条件的行:将价格大于 100 的产品的价格降低 10%。


1.5SELECT 语句

SELECT语句是用于从数据库表中查询数据的指令,它可以根据不同的条件筛选、排序和聚合数据,是数据库查询中最常用的语句。

基础语法形式

  • SELECT子句用于指定要查询的列。
  • FROM子句指定要查询的表。
  • WHERE子句用于筛选满足特定条件的行。
  • GROUP BY子句用于对查询结果进行分组。
  • HAVING子句用于筛选分组后的结果。
  • ORDER BY子句用于对查询结果进行排序,ASC表示升序,DESC表示降序。

二DML 与其他语言对比


三总结

DML 是数据库操作的核心,掌握INSERTUPDATEDELETE的灵活运用及事务管理,能有效提升数据处理效率与安全性。实际开发中需结合业务场景,合理设计 SQL 语句,避免性能瓶颈与数据风险

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/75755.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot的跨域是什么?遇到跨域问题如何解决?

在Spring Boot中,跨域是指当浏览器中的前端应用(如运行在某个域名和端口下的前端页面)请求后端接口时,如果后端接口所在的域名、端口或协议与前端应用不一致,浏览器会阻止这种跨域请求。这是由于浏览器的同源策略&…

啸叫抑制(AFS)从算法仿真到工程源码实现-第八节-系统搭建

一、概述 系统分为录音模块、数据处理模块、播音模块。录音模块和播音模块使用alsa库进行读写数据。各模块为独立进程处理,模块之间使用命名管道进行数据的传输。数据处理模块我们使用基于频域的自适应滤波去啸叫算法。 二、工程实现 2.1 系统流程图 2.2 录音模块…

HTML——什么是块级元素,什么是内联元素,有何区别

在 HTML 中,块级元素(Block-level element)和内联元素(Inline element)是两种不同类型元素,它们在页面布局和样式应用方面有不同的行为和特性。 块级元素(Block-level element) 块级…

01 设计模式和设计原则

类设计原则: 单一职责原则(Single Responsibility Principle,SRP):实现类要职责单一开闭原则(Open Close Principle,OCP):对扩展开放,对修改关闭里氏替换原则…

【踩坑日记】springboot 打包后实现类无法找到

试过了所有改什么目录 依赖 clean都以失败告终 最后将实现类的文件名从Impl改成impl宣布成功 记得使用idea自带的重构

项目-苍穹外卖(十五) WebSocket+语音播报功能实现(来订单+催单)

一、介绍 二、入门案例 配置类: package com.sky.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.socket.server.standard.ServerEndpointExporter;/…

【Spring篇】Spring的生命周期

一、Bean 生命周期的核心阶段 1. 实例化(Instantiation) • 触发时机:容器启动时(单例 Bean)或请求时(原型 Bean)。 • 实现方式: 通过反射(Class.newInstance() 或构造…

Redis、Memcached应用场景对比

环境 Redis官方网站: Redis - The Real-time Data Platform Redis社区版本下载地址:Install Redis | Docs Memcached官方网站:memcached - a distributed memory object caching system Memcached下载地址:memcached - a dis…

kettle插件-mysql8数据库插件

场景:群里有小伙伴反馈kettle 7.x版本不能自动连接mysql8,安排!!! 1、将mysql8的驱动包mysql-connector-java-8.0.20.jar丢到kettle的lib目录下,重启spoon。 2、配置数据库连接,提示驱动类不对…

【软件测试】:软件测试实战

1. ⾃动化实施步骤 1.1 编写web测试⽤例 1.2 ⾃动化测试脚本开发 common public class AutotestUtils {public static EdgeDriver driver;// 创建驱动对象public static EdgeDriver createDriver(){// 驱动对象已经创建好了 / 没有创建if( driver null){driver new EdgeDr…

深度学习入门1 基于Python的理论与实现

torch.unsqueeze()将一维数据变为二维数据,torch只能处理二维数据 tensor不能反向,variable可以反向。variable.data.numpy()转换为numpy 第3章 神经网络 实现softmax函数时的注意事项:为防止e的指数运算造成溢出 矩阵的第 0 维是列方向,第…

解决 Pentaho Kettle 插件集成中的 NoSuchMethodError: ContextFactory.enterContext() 错误

解决 Pentaho Kettle 插件集成中的 NoSuchMethodError: ContextFactory.enterContext() 错误 在使用 Pentaho Data Integration(也称为 Kettle)进行数据集成和ETL开发时,开发者可能会遇到各种依赖冲突和技术挑战。本文将详细介绍一个常见的错…

第 五 章:优化算法_《C++性能优化指南》_notes

优化算法 第五章重难点详解与代码实战编译与测试说明第五章核心知识点整理重难点梳理 第一部分:多选题(10道)第二部分:设计题(5道)答案与详解多选题答案: 设计题参考实现(以题目2为例…

多版本PHP开发环境配置教程:WAMPServer下MySQL/Apache/MariaDB版本安装与切换

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、版本切换指南总结 前言 由于有几个项目分别使用到PHP7.0 和7.4以及8.0版本,设置mysql也会根据PHP版本使用不同的版本,于是开始研究…

2024年数维杯数学建模C题天然气水合物资源量评价解题全过程论文及程序

2024年数维杯数学建模 C题 天然气水合物资源量评价 原题再现: 天然气水合物(Natural Gas Hydrate/Gas Hydrate)即可燃冰,是天然气与水在高压低温条件下形成的类冰状结晶物质,因其外观像冰,遇火即燃&#…

阶段一:Java基础语法

目标:掌握Java的基本语法,理解变量、数据类型、运算符、控制结构等。 1. Java开发环境搭建 安装JDK配置环境变量编写第一个Java程序 代码示例: // HelloWorld.java public class HelloWorld { // 定义类名为 HelloWorldpublic static vo…

从0到1,解锁Ant Design X的无限可能

Ant Design X 是什么? 在人工智能飞速发展的当下,AI 驱动的界面已成为软件开发的重要趋势。而 Ant Design X 正是顺应这一趋势,于 2024 年应运而生的一款遵循 Ant Design 设计体系的 React UI 库,它旨在帮助开发者轻松打造 AI 驱…

Graphpad Prism for Mac医学绘图

Graphpad Prism for Mac医学绘图 文章目录 Graphpad Prism for Mac医学绘图一、介绍二、效果三、下载 一、介绍 GraphPad Prism for Mac是一款功能强大、易于使用的科学和统计分析软件,适用于各种类型的数据处理和可视化需求。无论您是进行基础研究、临床试验还是学…

mysqloracledb2 (uuid函数)

项目场景: 创建一个32位的UUID 问题描述 原因分析: 解决方案: mysql内置UUID函数 SELECT UUID(); SELECT UUID_SHORT();oracle内置UUID函数 SELECT sys_guid() FROM dual;db2,模拟UUID函数 SELECT TEST || substr (CONCAT…

Android实践开发制作小猴子摘桃小游戏

Android实践制作小猴子摘桃小游戏 实践素材项目源文件获取:Android可能存在版本差异项目如果不能正确运行,可以使用里面的素材自己构建项目Android实践制作小猴子摘桃小游戏Android实践制作小猴子摘桃小游戏https://mp.weixin.qq.com/s/jNU_hVfj9xklsil…