SQL:DDL(数据定义语言)和DML(数据操作语言)

目录

什么是SQL?

1. DDL(Data Definition Language,数据定义语言)

2. DML(Data Manipulation Language,数据操作语言)

DDL和DML的区别

什么是SQL?

SQL(Structured Query Language,结构化查询语言)是用来管理数据库的语言。想象数据库就像一个大仓库,里面存放着各种数据(比如顾客信息、商品记录等),而SQL就是你用来“指挥”这个仓库的工具。它可以帮你创建仓库、整理货架、添加货物、查询货物,甚至清空仓库。SQL被分成几大类,其中最基础的两类是DDL和DML。

1. DDL(Data Definition Language,数据定义语言)

DDL是用来定义数据库“结构”的语言。结构就像是仓库的框架,包括仓库本身、货架(表)、货架上的格子(列)以及索引(方便找东西的标签)。DDL的命令决定了这些东西怎么建、怎么改、怎么删。下面介绍一下基本的DDL命令:

  • CREATE
    作用:创建数据库、表、列和索引
    通俗解释:就像盖房子,你先得设计并建好仓库和货架。比如,你可以用CREATE DATABASE my_store;来建一个叫“my_store”的仓库,再用CREATE TABLE customers (id INT, name VARCHAR(50));建一个“顾客”货架,上面有“id”和“name”两个格子。
    重难点:第一次接触可能觉得“表”和“列”有点抽象。简单说,表就是一组相关数据的集合(比如所有顾客的信息),列就是表里的每一类信息(比如名字、年龄)。

  • ALTER
    作用:修改数据库对象的结构,比如添加或删除列、索引等
    通俗解释:房子建好后,你可能想在货架上加一个新格子(比如加一个“电话”列),或者移除一个旧格子(比如删掉“地址”列)。比如ALTER TABLE customers ADD phone VARCHAR(15);就是加一个电话格子。
    重难点:改结构要小心,因为可能影响已有的数据。比如删列时,里面的数据也会丢掉,相当于把货架上的东西扔了。

  • DROP
    作用:删除表、索引,甚至整个数据库
    通俗解释:如果某个货架用不上了,或者整个仓库要拆掉,你可以用DROP TABLE customers;或DROP DATABASE my_store;。注意,这是个“暴力”操作,数据会彻底消失,就像拆房子不会留东西。
    重难点:这命令很危险,执行前要确认不需要这些数据了,不然就像失手砸了硬盘。

  • RENAME
    作用:重命名一个表
    通俗解释:就像给货架换个名字,比如原来叫“customers”,现在想叫“users”,用RENAME TABLE customers TO users;就行了。
    重难点:只是改名字,里面的数据不会变,相当于换了个标签。

  • TRUNCATE
    作用:清空表的内容,相当于删除并重建表。
    通俗解释:货架上的货物全清空,但货架本身还在。比如TRUNCATE TABLE customers;会把所有顾客记录删掉,但表结构(id、name等格子)保留。
    重难点:跟DROP不同,TRUNCATE只清数据不删结构,速度快,但数据没法恢复,就像清空垃圾桶但保留桶本身。

总结DDL:DDL是“建房子、改框架、清空货架”的工具,重点是管理数据库的结构。

2. DML(Data Manipulation Language,数据操作语言)

DML是用来操作数据库“数据”的语言。结构建好后,DML就是你往货架上放货物、查货物、改货物、扔货物的工具。来看看DML命令:

 

  • SELECT
    作用:查询数据库,检索数据行。
    通俗解释:想知道货架上有什么?用SELECT * FROM customers;就能列出所有顾客的信息。*代表“全部”,也可以指定列,比如SELECT name FROM customers;只看名字。
    重难点:SELECT是查询的起点,后面会学到条件(如WHERE)、排序等,慢慢来,别急着全记住。

  • INSERT
    作用:插入数据到表中。
    通俗解释:往货架上放新货物。比如INSERT INTO customers (id, name) VALUES (1, 'Alice');就是放了一个顾客,id是1,名字是Alice。
    重难点:要确保数据格式匹配(比如id是数字,name是文字),不然就像把方形积木塞圆孔。

  • UPDATE
    作用:修改表中数据。
    通俗解释:货物信息变了,比如Alice换了名字,用UPDATE customers SET name = 'Alicia' WHERE id = 1;就能改。WHERE是条件,指定改谁。
    重难点:如果忘了加WHERE,所有行的数据都会改,相当于把所有货物的标签都换了,容易出错。

  • DELETE
    作用:删除表中的行。
    通俗解释:扔掉某些货物,比如DELETE FROM customers WHERE id = 1;会删掉id为1的顾客。
    重难点:跟TRUNCATE不同,DELETE是按条件删,灵活但也容易误删,记得用WHERE小心操作。

总结DML:DML是“操作货物”的工具,重点是管理数据本身。

DDL和DML的区别

  • 目的:DDL管“结构”(框架),DML管“数据”(内容)。
    比喻:DDL是建仓库和货架,DML是放货和查货。

  • 影响:DDL改的是数据库的定义,DML改的是里面的具体值。

  • 例子:CREATE TABLE(建货架) vs. INSERT INTO(放货物)。

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

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

相关文章

Chrome 135 版本开发者工具(DevTools)更新内容

Chrome 135 版本开发者工具(DevTools)更新内容 一、性能(Performance)面板改进 1. 性能面板中的配置文件和函数调用现已显示来源和脚本链接 Performance > Summary(性能 > 概览)选项卡现在会显示配…

[ctfshow web入门] web23

前置知识 include:包含一个文件,也可以包含一些其他东西,后续用到再解析 substr:对字符串进行切片,第一个参数是字符串,第二第三个参数出从第a个索引开始切n个,索引从0开始计数。 例如&#xf…

vue3 开发电子地图功能

文章目录 一、项目背景二、页面效果三、代码1.ElectronicMap.vue2.TransferDeskRSSIMap.vue3.Map.js4.src/stores/index.js Vuex存储属性 四、注意点本人其他相关文章链接 一、项目背景 项目采用:vue3javaArco DesignSpringBootOpenStreetMap 数据的地图切片服务。…

oracle 存储体系结构

oracle 存储体系结构 参考: Logical Storage Structures (oracle.com)

python-leetcode 66.寻找旋转排序数组中的最小值

题目: 已知一个长度为n的数组,预先按照升序排列,经由1到n次旋转后,得到输入数组,例如,原数组 nums [0,1,2,4,5,6,7] 在变化后可能得到: 若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]若…

【MATLAB第113期】基于MATLAB的EFAST扩展傅里叶幅度敏感性分析方法(有目标函数)

【MATLAB第113期】基于MATLAB的EFAST扩展傅里叶幅度敏感性分析方法(有目标函数) 一、方法概述 扩展傅里叶幅度敏感性检验(EFAST)是一种基于频域分析的全局敏感性分析方法,能够同时评估模型参数的一阶敏感性&#xff…

Tiktok 关键字 视频及评论信息爬虫(1) [2025.04.07]

🙋‍♀️Tiktok APP的基于关键字检索的视频及评论信息爬虫共分为两期,希望对大家有所帮助。 第一期见下文。 第二期:基于视频URL的评论信息爬取 1. Node.js环境配置 首先配置 JavaScript 运行环境(如 Node.js)&#x…

【愚公系列】《高效使用DeepSeek》058-选题策划

🌟【技术大咖愚公搬代码:全栈专家的成长之路,你关注的宝藏博主在这里!】🌟 📣开发者圈持续输出高质量干货的"愚公精神"践行者——全网百万开发者都在追更的顶级技术博主! 👉 江湖人称"愚公搬代码",用七年如一日的精神深耕技术领域,以"…

零基础教程:Windows电脑安装Linux系统(双系统/虚拟机)全攻略

一、安装方式选择 方案对比表 特性双系统安装虚拟机安装性能原生硬件性能依赖宿主机资源分配磁盘空间需要独立分区(建议50GB)动态分配(默认20GB起)内存占用独占全部内存需手动分配(建议4GB)启动方式开机选…

LeetCode 2968.执行操作使频率分数最大

给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。 你可以对数组执行 至多 k 次操作: 从数组中选择一个下标 i ,将 nums[i] 增加 或者 减少 1 。 最终数组的频率分数定义为数组中众数的 频率 。 请你返回你可以得到的 最大 频率分数。 众数指的…

excel经验

Q:我现在有一个excel,有一列数据,大概两千多行。如何在这一列中 筛选出具有关键字的内容,并输出到另外一列中。 A: 假设数据在A列(A1开始),关键字为“ABC”在相邻空白列(如B1)输入公…

HTTP查询参数示例(XMLHttpRequest查询参数)(带查询参数的HTTP接口示例——以python flask接口为例)flask查询接口

文章目录 HTTP查询参数请求示例接口文档——获取城市列表代码示例效果 带查询参数的HTTP接口示例——以python flask接口为例app.pyREADME.md运行应用API示例客户端示例关键实现说明:运行方法: HTTP查询参数请求示例 接口文档——获取城市列表 代码示例…

将飞帆制作的网页作为 div 集成到自己的网页中

并且自己的网页可以和飞帆中的控件相互调用函数。效果: 上链接 将飞帆制作的网页作为 div 集成到自己的网页中 - 文贝 进入可以复制、运行代码

Redis主从复制:告别单身Redis!

目录 一、 为什么需要主从复制?🤔二、 如何搭建主从架构?前提条件✅步骤📁 创建工作目录📜 创建 Docker Compose 配置文件🚀 启动所有 Redis🔍 验证主从状态 💡 重要提示和后续改进 …

k8s 1.30.6版本部署(使用canal插件)

#系统环境准备 参考 https://blog.csdn.net/dingzy1/article/details/147062698?spm1001.2014.3001.5501 #配置下载源 curl -fsSL https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/deb/Release.key |gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyri…

机器学习的一百个概念(7)独热编码

前言 本文隶属于专栏《机器学习的一百个概念》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见[《机器学习的一百个概念》 ima 知识库 知识库广场搜索&…

RHCSA复习

在Linux中, wrx 分别代表写(write)、读(read)和执行(execute)权限,它们对应的权限值分别是: - r (读权限):权限值为4。 - w &am…

“乐企“平台如何重构业财税票全流程生态?

2025年,国家税务总局持续推进的"便民办税春风行动"再次推进数字化服务升级,其中"乐企"平台作为税务信息化的重要载体,持续优化数电票服务能力,为企业提供更高效、更规范的税务管理支持。在这一背景下&#xf…

Android audio(6)-audiopolicyservice介绍

AudioPolicyService 是策略的制定者,比如某种 Stream 类型不同设备的音量(index/DB)是多少、某种 Stream 类型的音频数据流对应什么设备等等。而 AudioFlinger 则是策略的执行者,例如具体如何与音频设备通信,维护现有系…

Boost库搜索引擎项目(版本1)

Boost库搜索引擎 项目开源地址 Github:https://github.com/H0308/BoostSearchingEngine Gitee:https://gitee.com/EPSDA/BoostSearchingEngine 版本声明 当前为最初版本,后续会根据其他内容对当前项目进行修改,具体见后续版本…