Co to są DDL i DML?

347

Słyszałem terminy DDL i DML w odniesieniu do baz danych, ale nie rozumiem, czym one są.

Czym one są i jak odnoszą się do SQL?

Sachindra
źródło

Odpowiedzi:

283

Polecenie SQL można podzielić na trzy podgrupy: DDL, DML i DCL

Więcej informacji znajduje się tutaj: MySQL Co to jest DDL, DML i DCL? , oryginał jest następujący:

DDL

DDL to krótka nazwa języka definicji danych, który zajmuje się schematami i opisami baz danych, określającymi, w jaki sposób dane powinny znajdować się w bazie danych.

  • UTWÓRZ - aby utworzyć bazę danych i jej obiekty takie jak (tabela, indeks, widoki, procedura przechowywania, funkcja i wyzwalacze)
  • ALTER - zmienia strukturę istniejącej bazy danych
  • DROP - usuń obiekty z bazy danych
  • TRUNCATE - usuwa wszystkie rekordy z tabeli, w tym wszystkie miejsca przydzielone dla rekordów są usuwane
  • KOMENTARZ - dodawanie komentarzy do słownika danych
  • RENAME - zmień nazwę obiektu

DML

DML to krótka nazwa Data Manipulation Language, która zajmuje się manipulacją danymi i obejmuje większość popularnych instrukcji SQL, takich jak SELECT, INSERT, UPDATE, DELETE itp., I jest używana do przechowywania, modyfikowania, pobierania, usuwania i aktualizacji danych w bazie danych.

  • WYBIERZ - pobiera dane z bazy danych
  • WSTAW - wstaw dane do tabeli
  • AKTUALIZACJA - aktualizuje istniejące dane w tabeli
  • USUŃ - Usuń wszystkie rekordy z tabeli bazy danych
  • MERGE - operacja UPSERT (wstaw lub aktualizuj)
  • CALL - wywołaj podprogram PL / SQL lub Java
  • PLAN WYJAŚNIENIA - interpretacja ścieżki dostępu do danych
  • LOCK TABLE - Kontrola współbieżności

DCL

DCL to krótka nazwa języka kontroli danych, który obejmuje polecenia takie jak GRANT i dotyczy głównie praw, uprawnień i innych elementów sterujących systemu bazy danych.

  • GRANT - zezwalaj użytkownikom na dostęp do bazy danych
  • ODWOŁANIE - cofnięcie uprawnień dostępu użytkowników przyznanych za pomocą polecenia GRANT

TCL

TCL to krótka nazwa języka kontroli transakcji, który zajmuje się transakcjami w bazie danych.

  • COMMIT - zatwierdza transakcję
  • ROLLBACK - wycofanie transakcji w przypadku wystąpienia błędu
  • SAVEPOINT - aby wycofać transakcję, tworząc punkty w grupach
  • ZESTAW TRANSAKCJI - określ charakterystykę transakcji
Terry
źródło
2
możesz chcieć rozwinąć swoją odpowiedź trochę w każdym przyszłym przypadku ten link stałby się niedostępny
svarog
2
Czasami zobaczysz także polecenia takie jak SELECT / SHOW / EXPLAIN / HELP oddzielone od DML i pogrupowane według DQLQ z zapytania - ponieważ tak naprawdę nie manipulują niczym.
okdewit
1
TRUNCATE powinno być DML
Pete Alvin
@PeteAlvin nie ma mowy.
snr
336

DDL to język definicji danych : służy do definiowania struktur danych .

Na przykład, SQL, byłoby instrukcje takie jak create table, alter table...


DML to język manipulacji danymi : służy do manipulacji danymi .

Na przykład, SQL, byłoby instrukcje takie jak insert, update, delete, ...

Pascal MARTIN
źródło
6
DESCRIBE to DDL lub DML?
Tom J Muthirenthi,
2
@TomJMuthirenthi Nie sądzę, że DESCRIBEpasuje do żadnego z tych dwóch. Zwraca tylko własną reprezentację struktury tabeli / bazy danych. Możesz osiągnąć to samo, np. CREATEAle nie jako „czytelny dla człowieka”
JensV
Jeśli SELECT jest uważany za DML, to DESCRIBE należy uważać za DDL.
Shloim
40

DDL to język definicji danych: Notacja specyfikacji do definiowania schematu bazy danych. Działa na poziomie schematu.

Polecenia DDL to:

create,drop,alter,rename

Na przykład:

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

DML to język przetwarzania danych. Służy do uzyskiwania dostępu do danych i manipulowania nimi.

Polecenia DML to:

select,insert,delete,update,call

Na przykład :

update account set balance = 1000 where account_number = 01;
Raju
źródło
1
@isapir Istnieją trzy ogólne sposoby „manipulowania” danymi w SQL: (1) Możesz zmienić, które wyniki są prezentowane. (2) Możesz zmienić sposób prezentacji lub organizacji wyników (pod względem porządku sortowania itp.). (3) Możesz zmienić dane bazowe. W pierwszym przypadku możesz zmienić, które wyniki są prezentowane przy użyciu różnych klauzul WHERE, predykatów JOIN itp. W instrukcji SELECT, tj. „Wybierz * z konta;” da znacznie inny wynik (zakładając, że konto ma więcej niż 1 wiersz) niż wybierz * z konta, gdzie saldo = 1000;
Raju
1
Kiedy wybierasz dane w różnych formatach, modyfikujesz prezentację danych dla tego zapytania, a nie same dane. M w DML oznacza Manipulację, lub w laikatycznych słowach Modyfikację danych. SELECTnie modyfikuje danych. Alternatywnie, TRUNCATErobi i dlatego jest instrukcją DML, a NIE instrukcją DDL.
isapir
31

wprowadź opis zdjęcia tutaj

DDL, język definicji danych

  • Utwórz i zmodyfikuj strukturę obiektu bazy danych w bazie danych.
  • Te obiekty bazy danych mogą mieć tabelę, widok, schemat, indeksy .... itd

na przykład:

  • CREATE, ALTER, DROP, TRUNCATE, COMMIT, Itd.

DML, język manipulacji danymi

Instrukcja DML ma wpływ na tabelę. To są podstawowe operacje, które wykonujemy w tabeli.

  • Podstawowe operacje crud wykonywane są w tabeli.
  • Są operacji CRUD są wykonać przez SELECT, INSERT, UPDATE, itd.

Poniższe polecenia są używane w DML:

  • INSERT, UPDATE, SELECT, DELETE, Itd.
JegsVala
źródło
14

Mówiąc ogólnie, załóżmy, że chcesz zbudować dom, co robisz.

DDL tzn. język definicji danych

  1. Buduj od podstaw
  2. Odnów to
  3. Zniszcz starszą i odtwórz ją od nowa

to jest

  1. CREATE
  2. ALTER
  3. DROP & CREATE

DML tj. język manipulacji danymi

Ludzie przychodzą / wchodzą do / z twojego domu

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

DCL tj. język kontroli danych

Chcesz kontrolować ludzi, do której części domu mają dostęp i jaki rodzaj dostępu.

  1. GRANT PERMISSION
Satish Patel
źródło
11

DML jest skrótem od Data Manipulation Language . Służy do wyszukiwania, przechowywania, modyfikowania, usuwania, wstawiania i aktualizacji danych w bazie danych.

Przykłady: instrukcje SELECT, UPDATE, INSERT


DDL to skrót języka definicji danych . Służy do tworzenia i modyfikowania struktury obiektów bazy danych w bazie danych.

Przykłady: instrukcje CREATE, ALTER, DROP

Odwiedź tę stronę, aby uzyskać więcej informacji: http://blog.sqlauthority.com/2008/01/15/sql-server-what-is-dml-ddl-dcl-and-tcl-introduction-and-examples/

Uc.IT_samuel
źródło
3

DDL to język definicji danych: pomyśl, że definiujesz DB. Używamy więc poleceń CREATE, ALTER TRUNCATE.
DML jest po zdefiniowaniu, że manipulujemy danymi. Dlatego używamy poleceń SELECT, INSERT, UPDATE, DELETE.

Pamiętaj, że polecenia DDL są automatycznie zatwierdzane. Nie musisz używać instrukcji COMMIT.
Polecenia DML (Data Manipulation Language) muszą zostać zatwierdzone / wycofane.

Chinmoy
źródło
2

DDL = język definicji danych, wszelkie polecenia zapewniające strukturę i inne informacje o twoich danych

DML = Data Manipulation Language, jest tylko 3 z nich: INSERT, UPDATE, DELETE. 4, jeżeli będzie liczyć SELECT * INTO x_tbl from tblz MSSQL (ANSI SQL: CREATE TABLE x_tbl AS SELECT * FROM tbl)

Michael Buen
źródło
2

W prostych słowach.

DDL (język definicji danych): będzie działać na strukturze danych. zdefiniować struktury danych.

DML (język manipulacji danymi): działa na danych. manipuluje danymi

Sakib
źródło
2

DD L: Zmień schemat

DML : zmień dane

Wydaje się, że jest specyficzny dla ograniczeń MySQL ( kod źródłowy szyn )

dorycki
źródło
2

DDL

Twórz, zmieniaj, upuszczaj (bazy danych, tabele, klucze, indeks, widoki, funkcje, przechowywane procedury)

DML

Wstaw, usuń, aktualizuj, obcinaj (tabele)

Rajender Kumar
źródło
1

DDL oznacza język definicji danych. DDL służy do definiowania struktury tabeli, takiej jak tworzenie tabeli lub dodawanie kolumny do tabeli, a nawet upuszczanie i obcinanie tabeli. DML oznacza Data Manipulation Language. Jak sama nazwa wskazuje, DML służy do manipulowania danymi tabeli. W DML jest kilka poleceń, takich jak wstawianie i usuwanie.

Rishish
źródło