DDL และ DML คืออะไร


347

ฉันเคยได้ยินคำว่า DDL และ DML ในการอ้างอิงถึงฐานข้อมูล แต่ฉันไม่เข้าใจว่ามันคืออะไร

พวกเขาคืออะไรและเกี่ยวข้องกับ SQL อย่างไร

คำตอบ:


283

คำสั่ง SQL สามารถแบ่งออกเป็นสามกลุ่มย่อย DDL, DML และ DCL

ข้อมูลเพิ่มเติมดูที่นี่: MySQL DDL, DML และ DCL คืออะไร? ต้นฉบับมีดังนี้:

DDL

DDL เป็นชื่อย่อของ Data Definition Language ซึ่งเกี่ยวข้องกับสกีมาฐานข้อมูลและคำอธิบายว่าข้อมูลควรอยู่ในฐานข้อมูลอย่างไร

  • สร้าง - เพื่อสร้างฐานข้อมูลและวัตถุเช่น (ตารางดัชนีมุมมองขั้นตอนการจัดเก็บฟังก์ชั่นและทริกเกอร์)
  • ALTER - แก้ไขโครงสร้างของฐานข้อมูลที่มีอยู่
  • DROP - ลบวัตถุออกจากฐานข้อมูล
  • TRUNCATE - ลบระเบียนทั้งหมดออกจากตารางรวมถึงช่องว่างทั้งหมดที่จัดสรรสำหรับระเบียนนั้นจะถูกลบออก
  • ความคิดเห็น - เพิ่มความคิดเห็นในพจนานุกรมข้อมูล
  • RENAME - เปลี่ยนชื่อวัตถุ

ดราก้อน

DML เป็นชื่อย่อของ Data Manipulation Language ซึ่งเกี่ยวข้องกับการจัดการข้อมูลและรวมถึงคำสั่ง SQL ทั่วไปส่วนใหญ่เช่น SELECT, INSERT, UPDATE, DELETE เป็นต้นและใช้เพื่อจัดเก็บแก้ไขเรียกคืนลบและอัปเดตข้อมูลในฐานข้อมูล

  • SELECT - ดึงข้อมูลจากฐานข้อมูล
  • INSERT - แทรกข้อมูลลงในตาราง
  • UPDATE - อัปเดตข้อมูลที่มีอยู่ภายในตาราง
  • ลบ - ลบระเบียนทั้งหมดจากตารางฐานข้อมูล
  • การผสาน - การดำเนินการของ UPSERT (แทรกหรืออัปเดต)
  • CALL - เรียกโปรแกรมย่อย PL / SQL หรือ Java
  • อธิบายแผน - การตีความเส้นทางการเข้าถึงข้อมูล
  • ตาราง LOCK - การควบคุมภาวะพร้อมกัน

DCL

DCL เป็นชื่อย่อของ Data Control Language ซึ่งรวมถึงคำสั่งเช่น GRANT และส่วนใหญ่เกี่ยวข้องกับสิทธิ์การอนุญาตและการควบคุมอื่น ๆ ของระบบฐานข้อมูล

  • GRANT - อนุญาตให้ผู้ใช้สิทธิ์การเข้าถึงฐานข้อมูล
  • ถอน - ถอนสิทธิ์การเข้าถึงของผู้ใช้ที่กำหนดโดยใช้คำสั่ง GRANT

ทีซีแอล

TCL เป็นชื่อย่อของ Transaction Control Language ซึ่งเกี่ยวข้องกับธุรกรรมภายในฐานข้อมูล

  • COMMIT - ทำธุรกรรม
  • ย้อนกลับ - ย้อนกลับการทำธุรกรรมในกรณีที่มีข้อผิดพลาดเกิดขึ้น
  • SAVEPOINT - เพื่อย้อนกลับจุดทำธุรกรรมภายในกลุ่ม
  • SET TRANSACTION - ระบุคุณสมบัติสำหรับการทำธุรกรรม

2
คุณอาจต้องการที่จะขยายคุณตอบเล็ก ๆ น้อย ๆ ในกรณีที่ในอนาคตว่าการเชื่อมโยงจะไม่สามารถใช้งานได้
svarog

2
บางครั้งคุณจะเห็นคำสั่งเช่น SELECT / SHOW / EXPLAIN / HELP แยกออกจาก DML และจัดกลุ่มไว้ด้านล่างDQLด้วย Q จาก Query - เพราะพวกเขาไม่ได้จัดการอะไรเลย
okdewit

1
TRUNCATE ควรเป็น DML
Pete Alvin

@ PetAlvin ไม่มีทาง
snr

336

DDLเป็นภาษานิยามข้อมูล : จะใช้ในการกำหนดข้อมูลโครงสร้าง

ยกตัวอย่างเช่นกับ SQL มันจะเป็นคำแนะนำเช่นcreate table, alter table...


ดราก้อนคือจัดการข้อมูลภาษา : จะใช้ในการจัดการข้อมูลที่ตัวเอง

ยกตัวอย่างเช่นกับ SQL มันจะเป็นคำแนะนำเช่นinsert, update, delete...


6
DESCRIBE คือ DDL หรือ DML?
Tom J Muthirenthi

2
@ TomJMuthirenthi ฉันคิดว่าไม่DESCRIBEเหมาะกับสองคนนี้ มันแค่คืนค่าเป็นตัวแทนของตัวเองว่าโครงสร้างตาราง / DB นั้นเป็นอย่างไร คุณสามารถบรรลุสิ่งเดียวกันด้วยเช่นCREATEแต่ไม่ใช่ "มนุษย์สามารถอ่านได้"
JensV

ถ้า SELECT ถูกพิจารณาว่าเป็น DML ดังนั้น DESCRIBE ควรถูกพิจารณาเป็น DDL
Shloim

40

DDLเป็นData Definition Language:สัญกรณ์ข้อมูลจำเพาะสำหรับการกำหนดสกีมาฐานข้อมูล มันทำงานได้ในระดับ Schema

คำสั่ง DDL คือ:

create,drop,alter,rename

ตัวอย่างเช่น:

create table account (
  account-number  char(10),
 balance integer);

DMLเป็นData Manipulation Languageใช้สำหรับการเข้าถึงและจัดการข้อมูล

คำสั่ง DML คือ:

select,insert,delete,update,call

ตัวอย่างเช่น :

update account set balance = 1000 where account_number = 01;

1
@isapir มีสามวิธีทั่วไปที่คุณสามารถ "จัดการ" ข้อมูลใน SQL: (1) คุณสามารถเปลี่ยนผลลัพธ์ที่จะแสดง (2) คุณสามารถเปลี่ยนวิธีการนำเสนอหรือจัดระเบียบผลลัพธ์ (ในแง่ของสิ่งต่าง ๆ เช่นเรียงลำดับ ฯลฯ ) (3) คุณสามารถเปลี่ยนข้อมูลพื้นฐานได้ ในกรณีแรกคุณสามารถเปลี่ยนผลลัพธ์ที่จะแสดงโดยใช้คำสั่ง WHERE ที่แตกต่างกันเข้าร่วมเพรดิเคต ฯลฯ ในคำสั่ง SELECT คือ - "select * from account" จะให้ผลลัพธ์ที่แตกต่างกันมาก (สมมติว่าบัญชีมีมากกว่า 1 แถว) กว่า select * จากบัญชีที่ balance = 1,000;
Raju

1
เมื่อคุณเลือกข้อมูลในรูปแบบที่แตกต่างกันคุณปรับเปลี่ยนการนำเสนอข้อมูลสำหรับแบบสอบถามนั้นไม่ใช่ตัวข้อมูลเอง M ใน DML ย่อมาจาก Manipulation หรือในการดัดแปลงข้อกำหนดของอุปัฏฐากของข้อมูล SELECTไม่แก้ไขข้อมูล อีกวิธีหนึ่งคือTRUNCATEทำและเป็นคำสั่ง DML ไม่ใช่ DDL
isapir

31

ป้อนคำอธิบายรูปภาพที่นี่

DDL ภาษาการกำหนดข้อมูล

  • สร้างและปรับเปลี่ยนโครงสร้างของวัตถุฐานข้อมูลในฐานข้อมูล
  • วัตถุฐานข้อมูลเหล่านี้อาจมีตาราง, มุมมอง, สคีมา, ดัชนี .... ฯลฯ

เช่น:

  • CREATE, ALTER, DROP, TRUNCATE, COMMITฯลฯ

DML ภาษาการจัดการข้อมูล

คำสั่ง DML มีผลกับตาราง นั่นคือการดำเนินการพื้นฐานที่เราแสดงในตาราง

  • การดำเนินการขั้นตอนพื้นฐานในตาราง
  • การดำเนินงาน CRUD เหล่านี้จะดำเนินการโดยSELECT, INSERT, UPDATEฯลฯ

คำสั่งด้านล่างนี้ใช้ใน DML:

  • INSERT, UPDATE, SELECT, DELETEฯลฯ

14

ในแง่คนธรรมดาสมมติว่าคุณต้องการสร้างบ้านคุณทำอะไร

DDL เช่นภาษานิยามข้อมูล

  1. สร้างตั้งแต่เริ่มต้น
  2. ปรับปรุงใหม่
  3. ทำลายสิ่งที่เก่ากว่าและสร้างใหม่จากศูนย์

นั่นคือ

  1. CREATE
  2. ALTER
  3. DROP & CREATE

DML เช่นการจัดการข้อมูลภาษา

ผู้คนมา / ไปข้างใน / จากบ้านของคุณ

  1. SELECT
  2. DELETE
  3. UPDATE
  4. TRUNCATE

DCL เช่นภาษาควบคุมข้อมูล

คุณต้องการควบคุมคนที่พวกเขาได้รับอนุญาตให้เข้าถึงและประเภทของบ้าน

  1. GRANT PERMISSION

11

ดราก้อนเป็นตัวย่อของข้อมูลการจัดการภาษา มันถูกใช้เพื่อดึง, จัดเก็บ, แก้ไข, ลบ, แทรกและปรับปรุงข้อมูลในฐานข้อมูล

ตัวอย่าง: คำสั่ง SELECT, UPDATE, INSERT


DDL เป็นตัวย่อของภาษานิยามข้อมูล มันถูกใช้เพื่อสร้างและปรับเปลี่ยนโครงสร้างของวัตถุฐานข้อมูลในฐานข้อมูล

ตัวอย่าง: คำสั่ง CREATE, ALTER, DROP

เยี่ยมชมเว็บไซต์นี้สำหรับข้อมูลเพิ่มเติม: http://blog.sqlauthority.com/2008/01/15/sql-server-what-is-dml-ddl-dcl-and-tcl-introduction-and-examples/


3

DDL เป็นภาษานิยามของข้อมูล: แค่คิดว่าคุณกำลังกำหนด DB ดังนั้นเราจึงใช้คำสั่ง CREATE, ALTER TRUNCATE
DML คือคำจำกัดความหลังจากที่เราจัดการกับข้อมูล ดังนั้นเราจึงใช้คำสั่ง SELECT, INSERT, UPDATE, DELETE

โปรดจำไว้ว่าคำสั่ง DDL นั้นมีการกำหนดอัตโนมัติ คุณไม่จำเป็นต้องใช้คำสั่ง COMMIT
คำสั่ง DML (Data Manipulation Language) จำเป็นต้องได้รับการยอมรับ / ย้อนกลับ


2

DDL = Data Definition Language คำสั่งใด ๆ ที่ให้โครงสร้างและข้อมูลอื่น ๆ เกี่ยวกับข้อมูลของคุณ

DML = Data Manipulation Language มีเพียง 3 ภาษาเท่านั้นคือ INSERT, UPDATE, DELETE 4 ถ้าคุณจะนับSELECT * INTO x_tbl from tblของ MSSQL (ANSI SQL: CREATE TABLE x_tbl AS SELECT * FROM tbl)


2

ในคำง่าย ๆ

DDL (Data definition language): จะทำงานกับโครงสร้างของข้อมูล กำหนดโครงสร้างข้อมูล

DML (ภาษาการจัดการข้อมูล): จะทำงานกับข้อมูล จัดการข้อมูลเอง



2

DDL

สร้างเปลี่ยนแปลงวาง (ฐานข้อมูลตารางคีย์ดัชนีมุมมองฟังก์ชั่นขั้นตอนการจัดเก็บ)

ดราก้อน

แทรกลบอัปเดตตัดทอนของ (ตาราง)


1

DDLย่อมาจาก Data Definition Language DDL ใช้สำหรับการกำหนดโครงสร้างของตารางเช่นสร้างตารางหรือเพิ่มคอลัมน์ในตารางและแม้แต่ปล่อยและตัดตาราง DMLย่อมาจาก Data Manipulation Language เป็นชื่อที่แนะนำ DML ที่ใช้สำหรับจัดการกับข้อมูลของตาราง มีบางคำสั่งใน DML เช่นการแทรกและลบ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.