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.pswp.cn/news/900650.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/900650.shtml
英文地址,請注明出處:http://en.pswp.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 版本聲明 當前為最初版本,后續會根據其他內容對當前項目進行修改,具體見后續版本…