DDL và DML là gì?


345

Tôi đã nghe các thuật ngữ DDL và DML liên quan đến cơ sở dữ liệu, nhưng tôi không hiểu chúng là gì.

Chúng là gì và chúng liên quan đến SQL như thế nào?

Câu trả lời:


280

Lệnh SQL có thể được chia thành ba nhóm nhỏ, DDL, DML và DCL

Thông tin chi tiết xem tại đây: MySQL DDL, DML và DCL là gì? , bản gốc như sau:

DDL

DDL là tên viết tắt của Ngôn ngữ Định nghĩa Dữ liệu, liên quan đến các lược đồ và mô tả cơ sở dữ liệu, về cách dữ liệu sẽ nằm trong cơ sở dữ liệu.

  • TẠO - để tạo cơ sở dữ liệu và các đối tượng của nó như (bảng, chỉ mục, dạng xem, thủ tục lưu trữ, hàm và trình kích hoạt)
  • THAY ĐỔI - thay đổi cấu trúc của cơ sở dữ liệu hiện có
  • DROP - xóa các đối tượng khỏi cơ sở dữ liệu
  • TRUNCATE - xóa tất cả các bản ghi khỏi một bảng, bao gồm tất cả các không gian được phân bổ cho các bản ghi được xóa
  • NHẬN XÉT - thêm ý kiến ​​vào từ điển dữ liệu
  • RENAME - đổi tên một đối tượng

DML

DML là tên viết tắt của Ngôn ngữ thao tác dữ liệu liên quan đến thao tác dữ liệu và bao gồm hầu hết các câu lệnh SQL phổ biến như SELECT, INSERT, UPDATE, DELETE, v.v. và nó được sử dụng để lưu trữ, sửa đổi, truy xuất, xóa và cập nhật dữ liệu trong cơ sở dữ liệu.

  • CHỌN - lấy dữ liệu từ cơ sở dữ liệu
  • CHERTN - chèn dữ liệu vào bảng
  • CẬP NHẬT - cập nhật dữ liệu hiện có trong một bảng
  • XÓA - Xóa tất cả các bản ghi từ bảng cơ sở dữ liệu
  • MERGE - Hoạt động UPSERT (chèn hoặc cập nhật)
  • GỌI - gọi chương trình con PL / SQL hoặc Java
  • KẾ HOẠCH GIẢI THÍCH - giải thích đường dẫn truy cập dữ liệu
  • BẢNG LOCK - Kiểm soát tương tranh

DCL

DCL là tên viết tắt của Ngôn ngữ điều khiển dữ liệu bao gồm các lệnh như GRANT và chủ yếu liên quan đến quyền, quyền và các điều khiển khác của hệ thống cơ sở dữ liệu.

  • GRANT - cho phép người dùng truy cập đặc quyền vào cơ sở dữ liệu
  • REVOKE - rút đặc quyền truy cập của người dùng được cung cấp bằng cách sử dụng lệnh GRANT

TCL

TCL là tên viết tắt của Ngôn ngữ kiểm soát giao dịch liên quan đến giao dịch trong cơ sở dữ liệu.

  • CAM KẾT - cam kết giao dịch
  • ROLLBACK - phục hồi giao dịch trong trường hợp có lỗi xảy ra
  • SAVEPOINT - để khôi phục các điểm thực hiện giao dịch trong các nhóm
  • THIẾT LẬP GIAO DỊCH - chỉ định các đặc điểm cho giao dịch

2
bạn có thể muốn mở rộng bạn trả lời một chút trong bất kỳ trường hợp nào trong tương lai mà liên kết sẽ không khả dụng
svarog

2
Đôi khi, bạn cũng sẽ thấy các lệnh như CHỌN / HIỂN THỊ / GIẢI THÍCH / TRỢ GIÚP tách ra khỏi DML và được nhóm lại DQL, với Q từ Truy vấn - vì chúng không thực sự thao túng bất cứ điều gì.
okdewit

1
TRUNCATE phải là DML
Pete Alvin

@PeteAlvin không có cách nào.
snr

335

DDLngôn ngữ định nghĩa dữ liệu : nó được sử dụng để xác định cấu trúc dữ liệu .

Ví dụ, với SQL, nó sẽ là hướng dẫn như create table, alter table, ...


DMLngôn ngữ thao tác dữ liệu : nó được sử dụng để tự thao tác dữ liệu .

Ví dụ, với SQL, nó sẽ là hướng dẫn như insert, update, delete, ...


6
MÔ TẢ là DDL hay DML?
Tom J Muthirenthi

2
@TomJMuthirenthi Tôi không nghĩ mình DESCRIBEphù hợp với bất kỳ ai trong hai người. Nó chỉ trả về đại diện của chính nó về cách cấu trúc Bảng / DB. Bạn có thể đạt được điều tương tự với ví dụ CREATEnhưng không phải là "con người có thể đọc được"
JensV

Nếu CHỌN được coi là DML, thì MÔ TẢ nên được coi là DDL.
Shloim

40

DDLngôn ngữ định nghĩa dữ liệu: Ký hiệu đặc tả để xác định lược đồ cơ sở dữ liệu. Nó hoạt động trên cấp độ Schema.

Các lệnh DDL là:

create,drop,alter,rename

Ví dụ:

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

DMLngôn ngữ thao tác dữ liệu . Nó được sử dụng để truy cập và thao tác dữ liệu.

Các lệnh DML là:

select,insert,delete,update,call

Ví dụ :

update account set balance = 1000 where account_number = 01;

1
@isapir Có ba cách chung để bạn có thể điều khiển dữ liệu của Google trong SQL: (1) Bạn có thể thay đổi kết quả nào được trình bày. (2) Bạn có thể thay đổi cách trình bày hoặc sắp xếp kết quả (về những thứ như thứ tự sắp xếp, v.v.). (3) Bạn có thể thay đổi dữ liệu cơ bản. Trong trường hợp đầu tiên, bạn có thể thay đổi kết quả nào được trình bày bằng cách sử dụng các mệnh đề WHERE khác nhau, các biến vị ngữ THAM GIA, v.v., trong câu lệnh CHỌN, tức là- "chọn * từ tài khoản;" sẽ cho kết quả khác nhiều (giả sử tài khoản có nhiều hơn 1 hàng) so với chọn * từ tài khoản có số dư = 1000;
Raju

1
Khi bạn chọn dữ liệu ở các định dạng khác nhau, bạn sửa đổi cách trình bày dữ liệu cho truy vấn đó chứ không phải chính dữ liệu đó. M trong DML là viết tắt của Manipulation, hoặc theo thuật ngữ cư sĩ Sửa đổi dữ liệu. SELECTkhông sửa đổi dữ liệu. Ngoài ra, do TRUNCATEđó, và do đó là một hướng dẫn DML và KHÔNG phải là một DDL.
isapir

31

nhập mô tả hình ảnh ở đây

DDL, Ngôn ngữ định nghĩa dữ liệu

  • Tạo và sửa đổi cấu trúc của đối tượng cơ sở dữ liệu trong cơ sở dữ liệu.
  • Các đối tượng cơ sở dữ liệu này có thể có Bảng, dạng xem, lược đồ, chỉ mục .... vv

ví dụ:

  • CREATE, ALTER, DROP, TRUNCATE, COMMIT,, Vv

DML, Ngôn ngữ thao tác dữ liệu

Tuyên bố DML có ảnh hưởng trên bảng. Vì vậy, đó là các hoạt động cơ bản chúng tôi thực hiện trong một bảng.

  • Hoạt động crud cơ bản được thực hiện trong bảng.
  • Những hoạt động crud được thực hiện bởi các SELECT, INSERT, UPDATEvv

Các lệnh bên dưới được sử dụng trong DML:

  • INSERT, UPDATE, SELECT, DELETE,, Vv

14

Trong điều khoản cư sĩ giả sử bạn muốn xây dựng một ngôi nhà, bạn sẽ làm gì.

DDL tức là ngôn ngữ định nghĩa dữ liệu

  1. Xây dựng từ đầu
  2. Làm lại nó
  3. Phá hủy cái cũ và tái tạo nó từ đầu

đó là

  1. CREATE
  2. ALTER
  3. DROP & CREATE

DML tức là ngôn ngữ thao tác dữ liệu

Mọi người đến / đi vào trong / từ nhà bạn

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

DCL tức là ngôn ngữ điều khiển dữ liệu

Bạn muốn kiểm soát mọi người phần nào của ngôi nhà họ được phép truy cập và loại quyền truy cập.

  1. GRANT PERMISSION

11

DML là tên viết tắt của Ngôn ngữ thao tác dữ liệu . Nó được sử dụng để lấy, lưu trữ, sửa đổi, xóa, chèn và cập nhật dữ liệu trong cơ sở dữ liệu.

Ví dụ: câu lệnh CHỌN, CẬP NHẬT, CHERTN


DDL là viết tắt của Ngôn ngữ Định nghĩa Dữ liệu . Nó được sử dụng để tạo và sửa đổi cấu trúc của các đối tượng cơ sở dữ liệu trong cơ sở dữ liệu.

Ví dụ: các câu lệnh CREATE, ALTER, DROP

Ghé thăm trang web này để biết thêm thông tin: http://blog.sqlauthority.com/2008/01/15/sql-server-what-is-dml-ddl-dcl-and-tcl-int sinhtion- and- examples/


3

DDL là ngôn ngữ định nghĩa dữ liệu: Chỉ cần nghĩ rằng bạn đang xác định DB. Vì vậy, chúng tôi sử dụng các lệnh CREATE, ALTER TRUNCATE.
DML là sau khi xác định chúng tôi đang Thao tác dữ liệu. Vì vậy, chúng tôi sử dụng lệnh CHỌN, CHERTN, CẬP NHẬT, XÓA.

Hãy nhớ các lệnh DDL được tự động cam kết. Bạn không cần phải sử dụng các câu lệnh CAM KẾT.
Các lệnh DML (Ngôn ngữ thao tác dữ liệu) cần được cam kết / khôi phục.


2

DDL = Ngôn ngữ định nghĩa dữ liệu, bất kỳ lệnh nào cung cấp cấu trúc và thông tin khác về dữ liệu của bạn

DML = Ngôn ngữ thao tác dữ liệu, chỉ có 3 trong số đó, CHERTN, CẬP NHẬT, XÓA. 4, nếu bạn sẽ đếm SELECT * INTO x_tbl from tblMSSQL (ANSI SQL CREATE TABLE x_tbl AS SELECT * FROM tbl:)


2

Nói một cách đơn giản.

DDL (Ngôn ngữ định nghĩa dữ liệu): sẽ hoạt động trên cấu trúc dữ liệu. xác định cấu trúc dữ liệu.

DML (ngôn ngữ thao tác dữ liệu): sẽ hoạt động trên dữ liệu. tự thao tác dữ liệu



2

DDL

Tạo, thay đổi, thả (Cơ sở dữ liệu, bảng, khóa, chỉ mục, dạng xem, hàm, thủ tục lưu trữ)

DML

Chèn, xóa, cập nhật, cắt ngắn (bảng)


1

DDL là viết tắt của Ngôn ngữ Định nghĩa Dữ liệu. DDL được sử dụng để xác định cấu trúc của bảng như tạo bảng hoặc thêm cột vào bảng và thậm chí thả và cắt bớt bảng. DML là viết tắt của Ngôn ngữ thao tác dữ liệu. Như tên cho thấy DML được sử dụng để thao tác dữ liệu của bảng. Có một số lệnh trong DML như chèn và xóa.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.