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

4.3 数据操作语言(DML):增删改查操作

欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏:
工💗重💗hao💗:野老杂谈
⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题.
⭐️ AIGC时代的创新与未来:详细讲解AIGC的概念、核心技术、应用领域等内容。
⭐️ 全流程数据技术实战指南:全面讲解从数据采集到数据可视化的整个过程,掌握构建现代化数据平台和数据仓库的核心技术和方法。
⭐️ 构建全面的数据指标体系:通过深入的理论解析、详细的实操步骤和丰富的案例分析,为读者提供系统化的指导,帮助他们构建和应用数据指标体系,提升数据驱动的决策水平。
⭐️《遇见Python:初识、了解与热恋》 :涵盖了Python学习的基础知识、进阶技巧和实际应用案例,帮助读者从零开始逐步掌握Python的各个方面,并最终能够进行项目开发和解决实际问题。
⭐️《MySQL全面指南:从基础到精通》通过丰富的实例和实践经验分享,带领你从数据库的基本操作入手,逐步迈向复杂的应用场景,最终成为数据库领域的专家。

摘要

数据操作语言(DML)是数据库世界中的超级英雄,它负责执行增删改查(CRUD)操作,让你的数据库充满活力。本文将通过生动有趣的例子,深入讲解如何使用DML语句来操控你的数据,并展示这些操作在现实中的应用场景。即使你是数据库的新手,也能轻松上手,成为数据库管理的高手。

关键词: 数据操作语言, DML, 增删改查, CRUD, 数据库操作

一、什么是数据操作语言(DML)

在数据库的世界中,DML就像是你的指挥棒,能够灵活地操作数据。DML,全称是Data Manipulation Language,它是SQL(结构化查询语言)中的一个子集,专门用于操作已经存储在数据库中的数据。DML包括四个核心操作:增(Insert)、删(Delete)、改(Update)和查(Select),也被称为CRUD操作。

  • Create(增):向数据库中插入新数据。
  • Read(查):从数据库中查询和读取数据。
  • Update(改):修改已存在的数据。
  • Delete(删):删除数据库中的数据。

这些操作听起来很简单,但却是数据库应用的核心。接下来,我们将逐一探讨这些操作。

二、插入数据:让数据有地方可去

1. 插入新数据(INSERT)

想象一下,你正在管理一家咖啡店的数据库。你刚雇佣了一位新的咖啡师,你需要将他的信息添加到数据库中。这时候就轮到INSERT语句上场了。

INSERT INTO Employees (EmployeeID, FirstName, LastName, Position, HireDate)
VALUES (1, 'John', 'Doe', 'Barista', '2024-08-15');

这条SQL语句的意思是:将一个新的员工记录插入到Employees表中。VALUES部分代表你要插入的具体数据。

2. 批量插入数据

如果你雇佣了一整队新员工,不必一个一个插入,可以使用批量插入:

INSERT INTO Employees (EmployeeID, FirstName, LastName, Position, HireDate)
VALUES (2, 'Jane', 'Smith', 'Manager', '2024-08-16'),(3, 'Alice', 'Brown', 'Cashier', '2024-08-17'),(4, 'Bob', 'White', 'Cleaner', '2024-08-18');

一行代码,就搞定了四个员工的插入工作,效率瞬间提高!

三、查询数据:寻找你需要的那一杯咖啡

1. 基本查询(SELECT)

有了数据之后,接下来你可能会想要查询这些数据。比如,你想看看所有的员工信息:

SELECT * FROM Employees;

这条语句会返回Employees表中的所有记录,类似于一个完整的员工名单。

2. 带条件的查询

如果你只想查看职位是“Barista”的员工,可以加个条件:

SELECT * FROM Employees WHERE Position = 'Barista';

这就像是在数据库里搜了一下“Barista”,只返回匹配的记录。

3. 排序和限制

假设你想按照雇佣日期排序,并且只查看最近加入的员工:

SELECT * FROM Employees ORDER BY HireDate DESC LIMIT 1;

这样,你就会得到最新加入的那位员工的信息。

四、更新数据:给咖啡加点糖

1. 修改数据(UPDATE)

随着时间的推移,可能会有员工升职或者更改职位。这时你需要用UPDATE语句来修改现有数据。假设John Doe升职为“Manager”,你可以这样做:

UPDATE Employees
SET Position = 'Manager'
WHERE EmployeeID = 1;

这样,数据库中John Doe的职位信息就被更新为“Manager”了。

2. 批量更新

如果公司决定给所有员工的职位加上“Senior”前缀,可以这样批量更新:

UPDATE Employees
SET Position = CONCAT('Senior ', Position);

这条语句使用了CONCAT函数,将“Senior”加到每个职位的前面。

五、删除数据:说再见的时候

1. 删除数据(DELETE)

如果员工离职了,你需要将他的记录从数据库中删除。这时你可以使用DELETE语句。假设Alice Brown离职了,你可以这样操作:

DELETE FROM Employees WHERE EmployeeID = 3;

Alice的记录将被从数据库中永久删除。

2. 小心删除

使用DELETE时要特别小心,因为它会永久移除数据。为了防止意外删除,最好在删除前先查询确认:

SELECT * FROM Employees WHERE EmployeeID = 3;

确认无误后,再执行删除操作。

六、DML操作的实际应用场景

DML操作在现实中无处不在。无论是电商网站的订单处理、银行系统的账户管理,还是社交媒体的用户互动,DML都在幕后默默工作,保障数据的正确性和一致性。通过熟练掌握这些操作,你就能有效管理和操控数据库中的数据,确保系统平稳运行。

七、总结:掌握DML,玩转数据库

掌握数据操作语言(DML)是成为数据库高手的必经之路。无论你是插入、查询、更新还是删除数据,每一个操作都至关重要。通过不断实践,你会发现,DML不仅是数据库操作的基础,更是理解和优化数据系统的关键。

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 牛客网SQL进阶135 :每个6/7级用户活跃情况
  • 【c++】通过Privilege类来保护数据
  • 【layui】layer弹出图片层(开启图片旋转 放大 缩小 还原)
  • PostgreSQL常用命令,启动连接,pg_dump导入导出
  • Python模块篇(五)
  • 2408d,加@GC作为函数属性
  • Java基于数据库、乐观锁、悲观锁、Redis、Zookeeper分布式锁的简单案例实现(保姆级教程)
  • 面试题:MQ
  • seata的使用(SpringBoot项目整合seata)
  • RabbitMQ-消息队列延迟队列一
  • Dockerfile搭建LNMP
  • Linux安装jdk8,tomcat和mysql
  • 【layUI】只能选某个特定区间的日历
  • 24/8/18算法笔记 目标导向强化学习
  • 【C++】C++11新增特性
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • Angular4 模板式表单用法以及验证
  • AWS实战 - 利用IAM对S3做访问控制
  • github指令
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • Linux Process Manage
  • QQ浏览器x5内核的兼容性问题
  • spring boot下thymeleaf全局静态变量配置
  • Vue.js 移动端适配之 vw 解决方案
  • vue-router 实现分析
  • Webpack 4 学习01(基础配置)
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 利用DataURL技术在网页上显示图片
  • 区块链共识机制优缺点对比都是什么
  • 如何合理的规划jvm性能调优
  • 如何使用 JavaScript 解析 URL
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 协程
  • 一个完整Java Web项目背后的密码
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • python最赚钱的4个方向,你最心动的是哪个?
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • ​渐进式Web应用PWA的未来
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (6) 深入探索Python-Pandas库的核心数据结构:DataFrame全面解析
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (独孤九剑)--文件系统
  • (二)JAVA使用POI操作excel
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (七)c52学习之旅-中断
  • (七)理解angular中的module和injector,即依赖注入
  • (转)大型网站架构演变和知识体系
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • *1 计算机基础和操作系统基础及几大协议
  • . Flume面试题
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .net 7和core版 SignalR