DDL、DML 和 DQL区分

DDL、DML 和 DQL

在数据库操作中,DDL、DML 和 DQL 是 SQL 语言的三个主要组成部分,它们分别用于不同的数据库操作任务。

DDL (Data Definition Language, 数据定义语言):
DDL 用于定义、修改和删除数据库中的对象,但不直接操作数据本身。如表、视图、索引、存储过程等。DDL 语句包括 CREATE、ALTER、DROP 等。这些操作通常由数据库管理员执行,因为它们会影响数据库的结构。

  • CREATE:创建新的数据库对象,如表、索引、视图等。
  • ALTER:修改现有数据库对象的结构,如添加、删除或修改表的列。
  • DROP:删除数据库对象,如表、索引、视图等。

DML (Data Manipulation Language, 数据操纵语言):
DML 用于操作数据库中的数据,包括插入(INSERT)、更新(UPDATE)、删除(DELETE)和选择(SELECT)数据。DML 语句直接影响数据库中的数据内容,但不改变数据库的结构。

  • INSERT:向表中添加新的数据行。
  • UPDATE:修改表中的现有数据。
  • DELETE:从表中删除数据行。

总结来说,DDL 负责数据库结构的创建和修改,DQL 负责查询数据,而 DML 负责对数据进行增删改操作。这三者共同构成了 SQL 的核心功能,使得用户能够全面地管理和操作数据库。

DQL (Data Query Language, 数据查询语言):
DQL 是 DML 的一个子集,专门用于查询数据库中的数据。DQL 的主要语句是 SELECT,它用于检索数据库中的数据,但不修改数据。SELECT 语句可以包含复杂的条件、排序、分组和聚合函数,以满足不同的查询需求。

  • SELECT:用于从表中选择数据,可以结合 WHERE、JOIN、GROUP BY 等子句来过滤、排序和分组数据。
    以下是每种语言的一些示例语句:

DDL 示例:

-- 创建表
CREATE TABLE employees (id INT PRIMARY KEY,name VARCHAR(100),age INT,salary DECIMAL(10, 2)
);-- 修改表结构,添加新列
ALTER TABLE employees ADD COLUMN department VARCHAR(50);-- 删除表
DROP TABLE employees;

DML 示例:

-- 插入数据
INSERT INTO employees (id, name, age, salary) VALUES (1, 'Alice', 30, 50000.00);-- 更新数据
UPDATE employees SET salary = salary * 1.05 WHERE id = 1;-- 删除数据
DELETE FROM employees WHERE id = 2;

DQL 示例:

-- 查询所有员工信息
SELECT * FROM employees;-- 查询特定条件的员工信息
SELECT name, salary FROM employees WHERE age > 25;-- 使用聚合函数查询
SELECT COUNT(*), AVG(salary) FROM employees;

在实际应用中,DDL 通常在数据库设计和初始化阶段使用,而 DML 和 DQL 则在日常数据库操作中频繁使用。DML 用于数据的增删改操作,DQL 用于数据的查询操作。

碰到好东西就要多多分享呀…。
转载请注明原文链接…

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

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

相关文章

MySQL--explain执行计划详解

什么是执行计划? SQL的执行计划,通俗来说就是SQL的执行情况,一条SQL语句扫描哪些表,那个子查询先执行,是否用到了索引等等,只有当我们知道了这些情况之后才知道,才可以更好的去优化SQL&#xf…

java 数据结构二叉树

目录 树 树的概念 树的表示形式 二叉树 两种特殊的二叉树 二叉树的性质 二叉树的存储 二叉树的基本操作 二叉树的遍历 二叉树的基本操作 二叉树oj题 树 树是一种 非线性 的数据结构,它是由 n ( n>0 )个有限结点组成一个具有层次…

伪分布Hadoop的安装与部署

1.实训目标 (1)熟悉掌握使用在Linux下安装JDK。 (2)熟悉掌握使用在Linux下安装Hadoop。 (3)熟悉掌握使用配置SSH免密登录。 2.实训环境与软件 环境 版本 说明 Windows 10系统 64位 操作电脑配置 …

前端vite+vue3——可视化页面性能耗时指标(fmp、fp)

文章目录 ⭐前言💖vue3系列文章 ⭐可视化fmp、fp指标💖 MutationObserver 计算 dom的变化💖 使用条形图展示 fmp、fp时间 ⭐项目代码⭐结束 ⭐前言 大家好,我是yma16,本文分享关于 前端vitevue3——可视化页面性能耗时…

图像处理与图像分析—图像的读入(C语言)

学习将会依据教材图像处理与图像分析基础(C/C)版内容展开 什么是数字图像处理 一副图像可以定义为一个二维函数 f(x,y) ,其中 x 和 y 是空间(平面)坐标,任意一对空间坐标 (x,y) 处的幅度值 &am…

内网中的信息收集技术

#主机信息收集 网络配置 ipconfig /all操作系统 systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"软件信息 systeminfo | findstr /B /C:"OS Name" /C:"OS Version" 4. 服 务 信 息 wmic /namespace:\root\securitycenter2 path a…

PDFPlumber解析PDF文本报错:AssertionError: (‘Unhandled’, 6)

文章目录 1、问题描述2、问题原因3、问题解决 1、问题描述 今天在使用PDFPlumber模块提取PDF文本时extract_text()方法报错,报错内容如下: Traceback (most recent call last):......File "F:\Python\...\site-packages\pdfminer\pdffont.py"…

微信私信短剧机器人源码

本源码仅提供参考,有能力的继续开发 接口为api调用 云端同步 https://ys.110t.cn/api/ajax.php?actyingshilist 影视搜索 https://ys.110t.cn/api/ajax.php?actsearch&name剧名 每日更新 https://ys.110t.cn/api/ajax.php?actDaily 反馈接口 https://ys.11…

R语言复现:中国Charls数据库一篇现况调查论文的缺失数据填补方法

编者 在临床研究中,数据缺失是不可避免的,甚至没有缺失,数据的真实性都会受到质疑。 那我们该如何应对缺失的数据?放着不管?还是重新开始?不妨试着对缺失值进行填补,简单又高效。毕竟对于统计师来说&#…

NUC980开发板CAN开发笔记

一、内核开启CAN CAN 设置 NUC980 系列带有2个CAN(Controller Area Network), 可以分别独立设置。 请按以下的说明来使能CAN功能. 每个CAN可以单独的开关. CAN0有多组管脚可以选择, 需要一并设置。 使用者也可以设置CAN的唤醒功能。步骤如下: 进入 NUC980-linux-4.…

使用Tokeniser估算GPT和LLM服务的查询成本

将LLM集成到项目所花费的成本主要是我们通过API获取LLM返回结果的成本,而这些成本通常是根据处理的令牌数量计算的。我们如何预估我们的令牌数量呢?Tokeniser包可以有效地计算文本输入中的令牌来估算这些成本。本文将介绍如何使用Tokeniser有效地预测和管…

异步编程实战:使用C#实现FTP文件下载及超时控制

博客标题: 异步编程实战:使用C#实现FTP文件下载及超时控制 如果你的函数不是async,你仍然可以实现相同的超时功能,但你将不得不依赖更多的同步代码或使用.Result或.GetAwaiter().GetResult()来阻塞等待任务完成,这可能导致死锁的风…

SQL如何添加数据?|SQL添加数据示例

在SQL(Structured Query Language)中,添加数据通常是指向已存在的数据库表中插入新的行记录。这是通过INSERT INTO语句实现的。下面详细的SQL插入数据解析: SQL INSERT INTO 语句的基本形式 INSERT INTO table_name (column1, c…

verilog中的函数和for循环

在Verilog中,clogb2 的英文全称是 “ceiling(天花板) log base 2”,表示对输入参数取对数(以2为底),并向上取整到最接近的整数值。这个函数通常用于计算内存地址宽度或状态数所需的位数12。 fun…

STM32---通用定时器(二)相关实验

写在前面:前面我们学习了基本定时器、通用定时器的相关理论部分,了解到通用定时器的结构框图,总共包含六大模块:时钟源、控制器、时基单元、输入捕获、公共部分以及输出捕获。对相关模块的使用也做详细的讲解。本节我们主要是对上…

Day33-计算机基础3

Day33-计算机基础3 1.根据TCP/IP进行Linux内核参数优化1.1 例1:调整访问服务端的【客户端】的动态端口范围 ,LVS(10-50万并发),NGINX负载,SQUID缓存服务,1.2 企业案例:DOS攻击的案例&#xff1a…

[备赛笔记]——5G大唐杯(5G考试等级考考试基础试题)

个人名片: 🦁作者简介:学生 🐯个人主页:妄北y 🐧个人QQ:2061314755 🐻个人邮箱:2061314755qq.com 🦉个人WeChat:Vir2021GKBS 🐼本文由…

redis缓存满了的话会发生什么?

线上问题 未及时加监控,导致线上redis被逐出,业务有损 示例: 一个key临时存储在redis等缓存中,如果该key在一段时间内有很大作用 比如一次业务请求,上游服务写入一个value,时长1小时,下游服务…

Matlab|考虑源荷两侧不确定性的含风电电力系统低碳调度

目录 1 主要内容 目标函数: 约束条件: 程序亮点总结: 2 代码问题与程序测试 设备出力运行结果: 3 下载链接 1 主要内容 本程序是对《考虑源荷两侧不确定性的含风电电力系统低碳调度》的方法复现,主要实现了基…

【QT+QGIS跨平台编译】之七十六:【QGIS_Native+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、QGIS_Native介绍二、QGIS下载三、文件分析四、pro文件五、编译实践一、QGIS_Native介绍 QGIS_Native模块是QGIS软件的核心部分,提供了许多基本功能和核心组件,主要用于处理与底层操作系统的关系。 二、QGIS下载 QGIS网址: QGIS Source Download 三、文件分析…