что такое dml и ddl
Что такое DDL, DML, DCL и TCL в языке SQL
Приветствую всех посетителей сайта Info-Comp.ru! В этом материале я расскажу Вам о том, что такое DDL, DML, DCL и TCL в языке SQL. Если Вы не знаете, что означают эти непонятные наборы букв и при этом работаете с языком SQL, то Вам обязательно необходимо прочитать данный материал.
Для начала давайте вспомним, что такое SQL, и для чего он нужен.
SQL – Structured Query Language
Structured Query Language (SQL) — язык структурированных запросов, с помощью него пишутся специальные запросы (SQL инструкции) к базе данных с целью получения этих данных из базы и для манипулирования этими данными.
Иными словами, язык SQL нужен для работы с базами данных, более подробно о языке SQL можете почитать в отдельной моей статье – Что такое SQL. Назначение и основа.
С точки зрения реализации язык SQL представляет собой набор операторов, которые делятся на определенные группы и у каждой группы есть свое назначение. В сокращенном виде эти группы называются DDL, DML, DCL и TCL.
Таким образом, эти непонятные буквы представляют собой аббревиатуру
названий групп операторов языка SQL.
DDL – Data Definition Language
Data Definition Language (DDL) – это группа операторов определения данных. Другими словами, с помощью операторов, входящих в эту группы, мы определяем структуру базы данных и работаем с объектами этой базы, т.е. создаем, изменяем и удаляем их.
В эту группу входят следующие операторы:
DML – Data Manipulation Language
Data Manipulation Language (DML) – это группа операторов для манипуляции данными. С помощью этих операторов мы можем добавлять, изменять, удалять и выгружать данные из базы, т.е. манипулировать ими.
В эту группу входят самые распространённые операторы языка SQL:
DCL – Data Control Language
Data Control Language (DCL) – группа операторов определения доступа к данным. Иными словами, это операторы для управления разрешениями, с помощью них мы можем разрешать или запрещать выполнение определенных операций над объектами базы данных.
TCL – Transaction Control Language
Transaction Control Language (TCL) – группа операторов для управления транзакциями. Транзакция – это команда или блок команд (инструкций), которые успешно завершаются как единое целое, при этом в базе данных все внесенные изменения фиксируются на постоянной основе или отменяются, т.е. все изменения, внесенные любой командой, входящей в транзакцию, будут отменены.
Группа операторов TCL предназначена как раз для реализации и управления транзакциями. Сюда можно отнести:
Заметка! Всем тем, кто только начинает свое знакомство с языком SQL, рекомендую прочитать книгу «SQL код» – это самоучитель по языку SQL, которую написал я, и в которой я подробно, и в то же время простым языком, рассказываю о языке SQL.
На сегодня это все, надеюсь, материал был Вам полезен, удачи!
DDL против DML
Разница между DDL и DML
В системе управления реляционными базами данных (RDBMS) огромное количество данных хранится в таблицах. Эти таблицы представляют собой набор связанных данных, где данные хранятся в строках и столбцах. Такой способ хранения данных позволяет эффективно использовать его при возникновении требования. Очень важно получить доступ к данным из этих таблиц, чтобы использовать их для бизнес-требований, а также, когда необходимо изменить существующие данные, содержащиеся в базе данных. Чтобы получить данные или манипулировать ими, нам нужен язык структурированных запросов (SQL). SQL поставляется со стандартными командами для взаимодействия с RDBMS. Язык определения данных (DDL) используется для определения схемы базы данных, а язык манипулирования данными (DML) используется для манипулирования данными, которые уже существуют в базе данных. В этой теме мы собираемся узнать о DDL против DM. В этой теме мы собираемся узнать о DDL против DML.
Сравнение лицом к лицу между DDL и DML (инфографика)
Ниже приведены основные различия между DDL и DML.
Ключевые различия между DDL и DML
Основные различия между DDL и DML, как показано ниже:
DDL и DML Сравнительная таблица
Давайте обсудим 6 основных различий между DDL и DML
| DDL (язык определения данных) | DML (язык манипулирования данными) | |
| Язык определения данных используется для определения схемы базы данных. Он касается того, как данные хранятся в базе данных. | Data Manipulation Language используется для манипулирования, т.е. извлечения, обновления и удаления данных в базе данных. | |
| Команды DDL, которые используются в SQL: CREATE, DROP, ALTER, TRUNCATE и т. Д. | Команды DML, используемые в SQL: INSERT, UPDATE, DELETE, SELECT и т. Д. | |
| Команда CREATE используется для создания таблицы или представления таблицы. Его также можно использовать для создания других объектов базы данных, таких как индекс, хранимая процедура, триггеры и т. Д. Синтаксис для создания таблицы такой: CREATE TABLE table_name ( COLUMN_1 тип данных PRIMARY KEY, COLUMN_2 тип данных, COLUMN_3 тип данных, ); | Команда INSERT используется для вставки данных в таблицу. Синтаксис для вставки данных в таблицу такой: Синтаксис использования команды ALTER следующий: ALTER TABLE table_name RENAME TO table_name_new; | Команда UPDATE используется для обновления существующих данных в таблице. Синтаксис использования команды UPDATE такой: ОБНОВЛЕНИЕ table_name SET столбец1 = значение1, столбец2 = значение2, … столбецN = значениеN ГДЕ (условие); |
| Команда DROP используется для удаления таблицы или представления таблицы или других объектов базы данных. Команда DROP удалит данные, а также определение таблицы. Так что эту команду следует использовать осторожно. Синтаксис для удаления базы данных следующий: DROP DATABASE database_name; Синтаксис для удаления таблицы следующий: DROP TABLE table_name; | Команда DELETE используется для удаления записей из таблицы. Синтаксис для использования команды DELETE следующий: DELETE FROM table_name; В приведенном выше синтаксисе все строки таблицы будут удалены, но структура таблицы останется. Но если мы используем команду DELETE вместе с предложением WHERE, будут удалены только определенные записи в соответствии с предложением WHERE. Синтаксис команды DELETE вместе с предложением WHERE такой: DELETE FROM table_name WHERE (условие); | |
| Команда TRUNCATE используется для удаления данных из таблицы, но структура таблицы остается неизменной. Таким образом, с помощью этой команды удаляются только данные, а не таблица. Синтаксис команды TRUNCATE такой: TRUNCATE TABLE table_name; | Команда SELECT используется для извлечения данных из таблиц в базе данных. Синтаксис для использования команды SELECT следующий: SELECT column1, column2… columnN FROM table_name; Приведенный выше оператор выбирает столбцы, указанные в операторе select. Но когда мы хотим выбрать все столбцы таблицы, нам нужно использовать «*» в операторе выбора. Синтаксис для выбора всех столбцов таблицы следующий: SELECT * FROM table_name; |
Вывод
SQL обеспечивает гибкость определения схемы, а затем ее изменения в соответствии с требованиями в базе данных с использованием языков определения данных и языка манипулирования данными. Благодаря использованию простых операторов DDL разработчику становится проще определять схему базы данных, структуру таблицы для больших объемов данных. Также с использованием операторов DML мы можем манипулировать данными, то есть извлекать данные, изменять существующие данные и т. Д. Всякий раз, когда возникает необходимость. При работе с различными командами DDL и DML необходимо учитывать некоторые важные моменты. Разработчик или разработчик программного обеспечения должен получить полное представление о работе различных операций DDL и DML, поскольку они играют жизненно важную роль в создании эффективной базы данных в соответствии с требованиями бизнеса.
Рекомендуемые статьи
DDL против DML: большая разница между DDL и DML
Главное меню » Базы данных » DDL против DML: большая разница между DDL и DML
Теперь сравним DML и DDL. DML – это реляционный и объектно-ориентированный язык, который обычно используется для описания таблиц и связанных сущностей. С другой стороны, DDL – это уровень абстракции программного обеспечения поверх языка управления данными (DML). Синтаксис DML очень похож на VSM и SQL. Одна вещь, которую разделяют DML и DDL, – это возможность определять ключи сущностей, которые можно повторно использовать в остальной части оператора DML.
DDL против DML: основные различия
Между DML и DDL есть несколько основных различий. Во-первых, DDL более гибок, чем DML. Например, он позволяет разработчику создавать более сложные языки определения данных, такие как схемы данных, логические схемы, схемы отношений, определяемые пользователем роли и т. д. В DML можно использовать только общие объекты. С другой стороны, DML более гибок, когда дело касается работы со сложными структурами базы данных.
Еще одно важное отличие состоит в том, что DML более читабелен, чем DDL. В случае какой-либо неоднозначности в данных, которыми вы хотите манипулировать, DML позволяет вам сохранить результат в корневой таблице и использовать команду DML для доступа к вложенным таблицам или подчиненным отношениям корневой таблицы. С другой стороны, DDL не позволяет вам этого делать.
Еще одно отличие, которое делает DML и DDL более читаемыми, заключается в том, что операторы DML являются более общими и удобочитаемыми. DML очень удобен для чтения, поскольку поддерживает различные языки обработки данных и может быть написан более лаконично. DML также является более общим, поскольку он может обозначать любую сущность или свойство. Концепция сущностей в DML очень похожа на концепции логических схем в других языках программирования. Так, например, когда вы пишете оператор DML, он всегда будет создавать правильную сущность или свойство, задуманное разработчиком.
Одно из основных различий между DDL и DML в управлении базами данных состоит в том, что операторы DML позволяют разработчикам создавать повторно используемые модули, которые могут выполняться параллельно, не требуя знаний об администрировании баз данных. С другой стороны, приложение, использующее SQL-сервер, обычно имеет дело с сохранением сущностей. При создании транзакции SQL нет гарантии, что операторы, написанные для команд сохранения сущности, будут согласованы между операторами, написанными для простых пользовательских запросов. Следовательно, разработчикам часто необходимо применять процедуры исправления, которые обеспечивали бы согласованность логики сохранения сущностей.
Еще одно большое различие между DML и DDL заключается в том, что DML является более гибким языком запросов, чем базы данных SQL. Если вы посмотрите на синтаксис SQL, вы поймете, что оператор DML состоит из двух или более предложений по сравнению с оператором SQL, который содержит только одно предложение. Это делает DML намного более гибким, чем традиционные системы РСУБД. Отсутствие единого языка определений делает DML более гибким и позволяет разработчикам писать более общий код. С другой стороны, базы данных SQL упрощают сопоставление имен сущностей с фактическими данными в таблице SQL.
Еще одно большое различие между DML и DDL в управлении базами данных состоит в том, что DML позволяет разработчику определять отношения между сущностями и объединяемыми таблицами. В случае традиционных систем РСУБД разработчик должен либо создать общую связь, либо использовать хранимые процедуры для выполнения задачи. Нет лучшего способа выразить тот факт, что между таблицами и сущностями существует связь.
DDL против DML: таблица сравнения
| DDL | DML |
| DDL (язык определения данных) помогает указать структуру или схему базы данных. | DML (язык манипулирования данными) позволяет обрабатывать данные, хранящиеся в базе данных. |
| Команда DDL в основном используется для создания схемы базы данных. | Команда DML может использоваться для заполнения и управления базой данных |
| Это не классифицируется дальше. | DML подразделяется на DML процедурного и непроцедурного характера. |
| CREATE, DROP, ALTER, TRUNCATE, COMMENT, RENAME и т.д. | INSERT, DELETE, UPDATE, MERGE, CALL и т. д. |
| DDL определяет столбец таблицы. | DML добавляет или обновляет строку таблицы |
| Операторы DDL влияют на всю таблицу. | DML влияет на одну или несколько строк в соответствии с конкретными требованиями |
| Вы не можете откатить инструкцию SQL | Используя DML, мы можем откатить инструкцию SQL |
| DDL является декларативным | DML обязательно |
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Учебник по языку SQL (DDL, DML) на примере диалекта MS SQL Server. Часть третья
Предыдущие части
О чем будет рассказано в этой части
Выражение CASE – условный оператор языка SQL
Данный оператор позволяет осуществить проверку условий и возвратить в зависимости от выполнения того или иного условия тот или иной результат.
Оператор CASE имеет 2 формы:
| Первая форма: | Вторая форма: |
|---|---|
| CASE WHEN условие_1 THEN возвращаемое_значение_1 … WHEN условие_N THEN возвращаемое_значение_N [ELSE возвращаемое_значение] END | CASE проверяемое_значение WHEN сравниваемое_значение_1 THEN возвращаемое_значение_1 … WHEN сравниваемое_значение_N THEN возвращаемое_значение_N [ELSE возвращаемое_значение] END |
В качестве значений здесь могут выступать и выражения.
Разберем на примере первую форму CASE:






