Я слышал термины DDL и DML применительно к базам данных, но я не понимаю, что это такое.
Что они и как они относятся к SQL?
Более подробную информацию смотрите здесь: MySQL Что такое DDL, DML и DCL? , оригинал выглядит следующим образом:
DDL
DDL - это краткое имя языка определения данных, которое имеет дело со схемами и описаниями базы данных о том, как данные должны находиться в базе данных.
- CREATE - для создания базы данных и ее объектов, таких как (таблица, индекс, представления, процедура хранения, функция и триггеры)
- ALTER - изменяет структуру существующей базы данных
- DROP - удалить объекты из базы данных
- TRUNCATE - удалить все записи из таблицы, включая все места, выделенные для записей, удалены
- КОММЕНТАРИЙ - добавить комментарии в словарь данных
- RENAME - переименовать объект
DML
DML - это короткое имя языка манипулирования данными, которое связано с манипулированием данными и включает в себя наиболее распространенные операторы SQL, такие как SELECT, INSERT, UPDATE, DELETE и т. Д., И используется для хранения, изменения, извлечения, удаления и обновления данных в базе данных.
- SELECT - получить данные из базы данных
- INSERT - вставить данные в таблицу
- ОБНОВЛЕНИЕ - обновляет существующие данные в таблице
- DELETE - удалить все записи из таблицы базы данных
- MERGE - операция UPSERT (вставить или обновить)
- CALL - вызвать подпрограмму PL / SQL или Java
- EXPLAIN PLAN - интерпретация пути доступа к данным
- LOCK TABLE - контроль параллелизма
DCL
DCL - это короткое имя языка управления данными, которое включает в себя такие команды, как GRANT, и в основном касается прав, разрешений и других элементов управления системой базы данных.
- GRANT - разрешить пользователям доступ к базе данных
- REVOKE - отозвать права доступа пользователей, данные с помощью команды GRANT
TCL
TCL - это короткое имя языка управления транзакциями, которое относится к транзакциям в базе данных.
- COMMIT - совершает транзакцию
- ROLLBACK - откат транзакции в случае возникновения ошибки
- SAVEPOINT - откатить точки совершения транзакций внутри групп
- SET TRANSACTION - указать характеристики для транзакции
DQL
с Q из Query - потому что они на самом деле ничего не манипулируют.DDL - это язык определения данных : он используется для определения структур данных .
Например, с помощью SQL, было бы инструкции , такие как
create table
,alter table
...DML является Data Manipulation Language : используется для управления самих данных .
Например, с помощью SQL, было бы инструкции , такие как
insert
,update
,delete
, ...источник
DESCRIBE
вписывается ни в одно из двух. Он просто возвращает свое собственное представление о структуре таблицы / БД. Вы можете достичь того же самого, например,CREATE
но не с помощью "удобочитаемого человеком"DDL - это язык определения данных: спецификационная нотация для определения схемы базы данных. Работает на уровне схемы.
DDL команды:
create,drop,alter,rename
Например:
DML - язык манипулирования данными манипулирования данными. Он используется для доступа к данным и манипулирования ими.
Команды DML:
Например :
источник
SELECT
не изменяет данные. В качестве альтернативы,TRUNCATE
делает, и, следовательно, является инструкцией DML, а не инструкцией DDL.DDL, язык определения данных
например:
CREATE
,ALTER
,DROP
,TRUNCATE
,COMMIT
И т.д.DML, язык манипулирования данными
DML оператор влияет на таблицу. Так что это основные операции, которые мы выполняем в таблице.
SELECT
,INSERT
,UPDATE
и т.д.Ниже команды используются в DML:
INSERT
,UPDATE
,SELECT
,DELETE
И т.д.источник
С точки зрения непрофессионала, предположим, что вы хотите построить дом, что вы делаете.
DDL
т.е. язык определения данныхто есть
CREATE
ALTER
DROP & CREATE
DML
т.е. язык манипулирования даннымиЛюди приходят / уходят внутрь / из вашего дома
SELECT
DELETE
UPDATE
TRUNCATE
DCL
т.е. язык управления даннымиВы хотите контролировать людей, к какой части дома им разрешен доступ и какой вид доступа.
GRANT PERMISSION
источник
Посетите этот сайт для получения дополнительной информации: http://blog.sqlauthority.com/2008/01/15/sql-server-what-is-dml-ddl-dcl-and-tcl-introduction-and-examples/
источник
DDL - это язык определения данных: просто подумайте, что вы определяете БД. Поэтому мы используем команды CREATE, ALTER TRUNCATE.
DML после определения мы манипулируем данными. Поэтому мы используем команду SELECT, INSERT, UPDATE, DELETE.
Помните, что команды DDL принимаются автоматически. Вам не нужно использовать операторы COMMIT.
Команды DML (Data Manipulation Language) необходимо зафиксировать / откатить.
источник
DDL = язык определения данных, любые команды, которые предоставляют структуру и другую информацию о ваших данных
DML = язык манипулирования данными, их всего 3, INSERT, UPDATE, DELETE. 4, если вы будете рассчитывать
SELECT * INTO x_tbl from tbl
на MSSQL (ANSI SQL:CREATE TABLE x_tbl AS SELECT * FROM tbl
)источник
Простыми словами.
DDL (язык определения данных): будет работать над структурой данных. определить структуры данных.
DML (язык манипулирования данными): будет работать с данными. манипулирует сами данные
источник
DD L: изменить схему
DML : изменить данные
Кажется специфичным для ограничений MySQL ( исходный код rails )
источник
DDL
Создание, изменение, удаление (базы данных, таблицы, ключи, индекс, представления, функции, хранимые процедуры)
DML
Вставить, Удалить, Обновить, Сократить (Таблицы)
источник
DDL обозначает язык определения данных. DDL используется для определения структуры таблицы, такой как создание таблицы или добавление столбца в таблицу и даже удаление и усечение таблицы. DML расшифровывается как Data Manipulation Language. Как следует из названия, DML используется для манипулирования данными таблицы. В DML есть некоторые команды, такие как вставка и удаление.
источник