【MySQL】入门篇—SQL基础:数据操作语言(DML)

embedded/2024/10/21 4:16:15/

数据操作语言(DML,Data Manipulation Language)是SQL(结构化查询语言)的一部分,主要用于对数据库中的数据进行操作。 DML允许用户插入、更新和删除数据,是数据库应用程序中最常用的操作之一。

应用场景

  • 用户管理:在用户注册时插入新用户数据,更新用户信息,或删除不再活跃的用户。

  • 订单处理:在电商平台中插入新订单,更新订单状态,或删除错误的订单记录。

  • 数据分析:在分析过程中,需要定期更新数据,删除过时的信息,以保持数据的准确性和一致性。

掌握DML的基本操作是数据库管理员和开发者的基本技能。接下来,我们将通过具体示例详细介绍DML的主要命令:插入(INSERT)、更新(UPDATE)和删除(DELETE)。

1. 插入数据

1.1 插入单条记录

INSERT命令用于向表中插入新数据。可以插入一条或多条记录。

示例:插入单条用户记录

-- 向 'users' 表中插入一条新用户记录
INSERT INTO users (username, email) 
VALUES ('john_doe', 'john@example.com');
  • INSERT INTO users (username, email):指定要插入数据的表为users,并列出要插入的列(usernameemail)。

  • VALUES ('john_doe', 'john@example.com'):提供要插入的具体值。这里插入了一个用户名为john_doe,邮箱为john@example.com的用户记录。

1.2 插入多条记录

示例:插入多条用户记录

-- 向 'users' 表中插入多条新用户记录
INSERT INTO users (username, email) 
VALUES ('alice', 'alice@example.com'),('bob', 'bob@example.com'),('charlie', 'charlie@example.com');
  • VALUES (...):可以在INSERT语句中使用逗号分隔的多个值组来插入多条记录。这里插入了三条新用户记录。

2. 更新数据

2.1 更新单条记录

UPDATE命令用于修改表中现有数据。可以根据条件更新特定的记录。

示例:更新用户邮箱

-- 更新 'users' 表中用户名为 'john_doe' 的用户的邮箱
UPDATE users 
SET email = 'john_doe_new@example.com' 
WHERE username = 'john_doe';
  • UPDATE users:指定要更新的表为users

  • SET email = 'john_doe_new@example.com':指定要更新的列及其新值。这里将john_doe用户的邮箱更新为john_doe_new@example.com

  • WHERE username = 'john_doe':条件语句,确保只更新用户名为john_doe的用户。如果没有WHERE条件,所有记录的邮箱都会被更新。

2.2 更新多条记录

示例:批量更新用户邮箱

-- 批量更新所有用户的邮箱后缀为 'example.org'
UPDATE users 
SET email = CONCAT(SUBSTRING_INDEX(email, '@', 1), '@example.org');
  • SET email = CONCAT(SUBSTRING_INDEX(email, '@', 1), '@example.org'):这里使用了字符串函数,将所有用户的邮箱后缀更改为example.orgSUBSTRING_INDEX(email, '@', 1)提取邮箱的用户名部分,CONCAT函数将其与新的后缀组合。

3. 删除数据

3.1 删除单条记录

DELETE命令用于从表中删除现有数据。可以根据条件删除特定的记录。

示例:删除特定用户记录

-- 删除 'users' 表中用户名为 'john_doe' 的用户
DELETE FROM users 
WHERE username = 'john_doe';
  • DELETE FROM users:指定要删除数据的表为users

  • WHERE username = 'john_doe':条件语句,确保只删除用户名为john_doe的用户记录。如果没有WHERE条件,表中的所有记录都会被删除。

3.2 删除所有记录

示例:删除所有用户记录

-- 删除 'users' 表中的所有记录
DELETE FROM users;
  • DELETE FROM users;:此命令将删除users表中的所有记录,但表结构仍然存在。注意,这样做可能会导致数据丢失,因此应谨慎使用。

结论

数据操作语言(DML)是管理数据库中数据的关键工具。通过插入、更新和删除数据,开发者和数据库管理员能够灵活地处理和维护数据存储。掌握DML的基本命令对于有效地管理和操作数据库至关重要。


http://www.ppmy.cn/embedded/127806.html

相关文章

【CSS in Depth 2 精译_049】7.2 CSS 响应式设计中的媒体查询原则(下):响应式列的添加

当前内容所在位置(可进入专栏查看其他译好的章节内容) 【第七章 响应式设计】(概述) 7.1 移动端优先设计原则(上篇) 7.1.1 创建移动端菜单(下篇)7.1.2 给视口添加 meta 标签&#xf…

Linux的HBASE数据库集群部署

1.HBASE是一个key-value型的nosql数据库,与redis不同的是HBASE主要解决海量数据,快速检索 2.安装 (前提,具有zookeeper,jdk,hadoop的软件安装) HBASE的镜像安装https://mirrors.aliyun.com/apache/hbase/2.5.10/?spma2c6h.25603864.0.0.5bc120eb1EVqhj 3.解压 命令: tar …

股指期货和股指期权有什么区别?

在金融衍生品的世界里,股权类衍生品无疑是其中的佼佼者,而股指期货和股指期权更是其中的佼佼者。尽管它们之间有着千丝万缕的联系,但它们之间的区别同样不容忽视。本文衍生股指君将详细解析股指期货和股指期权的核心区别。 一、交易的东西不…

Cocos Creator导出obj文件用于后端寻路

Cocos Creator 3.8.0 用这个扩展插件 【杨宗宝】两年前写的网格工具,今天将它开源了。 - Creator 3.x - Cocos中文社区carlosyzy_extensions_mesh: Cocos Creator 3.x mesh插件,负责网格数据的导出。合并,拆封等一系列操作 (gitee.com) 下…

探索 C# 常用第三方库与框架

在 C# 开发中,第三方库和框架极大地提高了开发效率和代码质量。通过这些库,开发者可以快速处理 JSON 数据、简化对象映射、记录日志、以及高效地与数据库交互。本文将介绍四个常用的 C# 第三方库:Newtonsoft.Json、AutoMapper、NLog/Serilog …

复合泊松过程方差推导

全方差公式(Law of Total Variance),描述了如何通过条件期望和条件方差分解总体方差。该定理适用于任何随机变量 ( X ) 和条件随机变量 ( Y ),公式如下: Var ( X ) E [ Var ( X ∣ Y ) ] Var ( E [ X ∣ Y ] ) \text…

牛客周赛 Round 62:小红的中位数查询easy:巧用stl模拟

链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 题目描述 easy 版本中,所有的 r−l1r - l 1r−l1 都相等,而 hard 版本中没有此限制。通过 easy 版本可以获得 250 分,通过 hard 版本可以获得 50 分。 小红…

HBO 纪录片揭露中本聪是谁

10 月 8 日播出的 HBO 纪录片《Money Electric: The Bitcoin Mystery》声称中本聪就是前加拿大比特币开发者 Peter Todd。 但纪录片上映前 Todd 在发送给 CoinDesk 的一封电子邮件中否认了这一点。 在纪录片中,导演 Cullen Hoback 根据他搜索的新旧线索得出了这一…