Що таке DDL та DML?


347

Я чув терміни DDL та DML стосовно посилань на бази даних, але не розумію, що вони є.

Що вони таке і як вони відносяться до SQL?

Відповіді:


283

Команду SQL можна розділити на три підгрупи, DDL, DML і DCL

Більше інформації дивіться тут: MySQL Що таке DDL, DML та DCL? , оригінал такий:

DDL

DDL - це коротка назва мови визначення даних, яка стосується схем та описів бази даних про те, як дані повинні знаходитися в базі даних.

  • СТВОРИТИ - для створення бази даних та таких об'єктів, як (таблиця, індекс, представлення даних, процедура зберігання, функція та тригери)
  • ALTER - змінює структуру існуючої бази даних
  • DROP - видалення об'єктів із бази даних
  • TRUNCATE - видалити всі записи з таблиці, включаючи всі проміжки, виділені для записів, видалені
  • КОМЕНТАР - додайте коментарі до словника даних
  • RENAME - перейменуйте об’єкт

DML

DML - це коротка назва мови маніпуляції даними, яка займається маніпулюванням даними, і включає в себе найбільш поширені оператори SQL, такі як SELECT, INSERT, UPDATE, DELETE тощо, і вона використовується для зберігання, зміни, отримання, видалення та оновлення даних у базі даних.

  • SELECT - отримання даних із бази даних
  • ВСТАВИТИ - вставляйте дані в таблицю
  • ОНОВЛЕННЯ - оновлення наявних даних у таблиці
  • DELETE - Видалення всіх записів із таблиці бази даних
  • MERGE - операція UPSERT (вставити або оновити)
  • CALL - викликайте підпрограму PL / SQL або Java
  • ПОЯСНИТЬ ПЛАН - інтерпретація шляху доступу до даних
  • LOCK TABLE - контроль сумісності

DCL

DCL - це коротка назва мови управління даними, яка включає команди, такі як GRANT, і в основному стосується прав, дозволів та інших елементів керування системою баз даних.

  • GRANT - дозволяє користувачам отримати доступ до привілеїв до бази даних
  • ОТМЕНИТИ - відкликати користувачам права доступу, надані командою GRANT

TCL

TCL - це коротка назва мови управління транзакціями, яка займається транзакціями в межах бази даних.

  • COMMIT - здійснює транзакцію
  • ROLLBACK - відкат транзакції у випадку будь-якої помилки
  • SAVEPOINT - для відкату точок внесення транзакцій у групи
  • SET TRANSACTION - вкажіть характеристики транзакції

2
ви, можливо, захочете трохи розширити відповідь. У будь-якому майбутньому посилання стане недоступним
svarog

2
Іноді ви також побачите такі команди, як SELECT / SHOW / EXPLAIN / HELP, відірвані від DML і згруповані під DQL, з Q від Query - тому що вони насправді нічим не маніпулюють.
okdewit

1
TRUNCATE повинен бути DML
Піт Елвін

@PeteAlvin ніяк.
snr

336

DDL - мова визначення даних : використовується для визначення структур даних .

Наприклад, з допомогою SQL, було б інструкції , такі як create table, alter table...


DML є Data Manipulation Language : використовується для управління самих даних .

Наприклад, з допомогою SQL, було б інструкції , такі як insert, update, delete, ...


6
ОПИСАНО - це DDL або DML?
Tom J Muthirenthi

2
@TomJMuthirenthi Я не думаю, що DESCRIBEпідходить ні до одного з двох. Він просто повертає власне уявлення про структурування таблиці / БД. Ви можете домогтися того ж, наприклад, CREATEале не як "читабельний для людей"
JensV,

Якщо SELECT вважається DML, то DESCRIBE слід вважати DDL.
Шлоїм

40

DDL - Мова визначення даних: Позначення специфікації для визначення схеми бази даних. Це працює на рівні схеми.

Командами DDL є:

create,drop,alter,rename

Наприклад:

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

DML - Мова маніпуляції даними. Він використовується для доступу та маніпулювання даними.

Командами DML є:

select,insert,delete,update,call

Наприклад :

update account set balance = 1000 where account_number = 01;

1
@isapir Існує три загальних способи "маніпулювати" даними в SQL: (1) Ви можете змінити представлені результати. (2) Ви можете змінити спосіб подання чи впорядкування результатів (з точки зору порядку сортування тощо). (3) Ви можете змінити основні дані. У першому випадку ви можете змінити результати, які будуть представлені, використовуючи різні пропозиції WHERE, предикати JOIN тощо тощо в операторі SELECT, тобто- "select * from account;" дасть набагато інший результат (якщо в обліковому записі є більше 1 ряду), ніж вибрати * з рахунку, де баланс = 1000;
Раджу

1
Вибираючи дані в різних форматах, ви змінюєте подання даних для цього запиту, а не самих даних. M у DML означає Маніпулювання або Модифікація, що стосується мирян, даних. SELECTне змінює дані. Крім того, TRUNCATEце робить, і тому є інструкцією DML, а не DDL.
isapir

31

введіть тут опис зображення

DDL, Мова визначення даних

  • Створення та змінення структури об’єкта бази даних у базі даних.
  • Ці об'єкти бази даних можуть мати Таблицю, подання, схему, індекси .... тощо

наприклад:

  • CREATE, ALTER, DROP, TRUNCATE, COMMITІ т.д.

DML, мова маніпуляції даними

Оператор DML впливає на таблицю. Отже, це основні операції, які ми виконуємо в таблиці.

  • Основні операції на сировину виконуються в табл.
  • Ці операції виконують падла є самим 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

DML - це абревіатура мови маніпуляції даними . Він використовується для отримання, зберігання, зміни, видалення, вставки та оновлення даних у базі даних.

Приклади: оператори 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 - Мова визначення даних: Подумайте, Ви визначаєте БД. Тому ми використовуємо команди CREATE, ALTER TRUNCATE.
Після визначення DML ми маніпулюємо даними. Тому ми використовуємо команду SELECT, INSERT, UPDATE, DELETE.

Пам'ятайте, що команди DDL автоматично виконуються. Вам не потрібно використовувати оператори COMMIT.
Команди DML (Мова маніпуляції даними) потрібно запустити / повернути назад.


2

DDL = Мова визначення даних, будь-які команди, що надають структуру та іншу інформацію про ваші дані

DML = Мова маніпуляції даними, їх є лише 3, ВСТАВКА, ОНОВЛЕННЯ, УДАЛИТИ. 4, якщо ви будете розраховувати SELECT * INTO x_tbl from tblна MSSQL (ANSI SQL: CREATE TABLE x_tbl AS SELECT * FROM tbl)


2

Простими словами.

DDL (Мова визначення даних): буде працювати над структурою даних. визначити структури даних.

DML (мова маніпулювання даними): буде працювати над даними. маніпулює самими даними



2

DDL

Створення, зміна, випадання (Бази даних, таблиці, клавіші, індекс, перегляди, функції, збережені процедури)

DML

Вставка, видалення, оновлення, скорочення (таблиць)


1

DDL означає мову визначення даних. DDL використовується для визначення структури таблиці, наприклад створення таблиці або додавання стовпця до таблиці і навіть випадання та скорочення таблиці. DML означає "Мова маніпуляції даними". Як назва підказує DML, що використовується для маніпулювання даними таблиці. У DML є деякі команди, такі як вставка та видалення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.