Ouvi os termos DDL e DML em referência a bancos de dados, mas não entendo o que são.
O que são e como eles se relacionam com o SQL?
Mais informações, veja aqui: MySQL O que são DDL, DML e DCL? , o original é o seguinte:
DDL
DDL é o nome abreviado da Data Definition Language, que lida com esquemas e descrições de banco de dados, de como os dados devem residir no banco de dados.
- CREATE - para criar banco de dados e seus objetos como (tabela, índice, visualizações, procedimento de armazenamento, função e gatilhos)
- ALTER - altera a estrutura do banco de dados existente
- DROP - exclui objetos do banco de dados
- TRUNCATE - remove todos os registros de uma tabela, incluindo todos os espaços alocados para os registros.
- COMENTÁRIO - adicione comentários ao dicionário de dados
- RENAME - renomeie um objeto
DML
DML é um nome abreviado da Data Manipulation Language que lida com a manipulação de dados e inclui as instruções SQL mais comuns, como SELECT, INSERT, UPDATE, DELETE, etc., e é usado para armazenar, modificar, recuperar, excluir e atualizar dados no banco de dados.
- SELECT - recupera dados do banco de dados
- INSERT - insere dados em uma tabela
- UPDATE - atualiza os dados existentes em uma tabela
- DELETE - Excluir todos os registros de uma tabela de banco de dados
- MERGE - operação UPSERT (inserir ou atualizar)
- LIGUE - chame um subprograma PL / SQL ou Java
- EXPLICAR PLANO - interpretação do caminho de acesso a dados
- TABELA DE BLOQUEIO - Controle de simultaneidade
DCL
DCL é o nome abreviado da Data Control Language, que inclui comandos como GRANT e, principalmente, relacionados a direitos, permissões e outros controles do sistema de banco de dados.
- GRANT - permite que os usuários acessem privilégios no banco de dados
- REVOKE - retira os privilégios de acesso dos usuários dados usando o comando GRANT
TCL
TCL é um nome abreviado de Transaction Control Language que lida com transações dentro de um banco de dados.
- COMMIT - confirma uma transação
- ROLLBACK - reverter uma transação em caso de erro
- SAVEPOINT - para reverter os pontos de criação de transação dentro dos grupos
- SET TRANSACTION - especifique características para a transação
DQL
, com o Q do Query - porque eles realmente não manipulam nada.DDL é a linguagem de definição de dados : é usada para definir estruturas de dados .
Por exemplo, com SQL, seria instruções como
create table
,alter table
...DML é uma linguagem de manipulação de dados : é usada para manipular os próprios dados .
Por exemplo, com SQL, seria instruções tais como
insert
,update
,delete
, ...fonte
DESCRIBE
se encaixa em nenhum dos dois. Ele apenas retorna sua própria representação de como uma Tabela / DB está estruturada. Você pode conseguir a mesma coisa com, por exemploCREATE
, mas não como "legível"DDL é uma linguagem de definição de dados: notação de especificação para definir o esquema do banco de dados. Funciona no nível do esquema.
Os comandos DDL são:
create,drop,alter,rename
Por exemplo:
DML é uma linguagem de manipulação de dados . É usada para acessar e manipular os dados.
Os comandos DML são:
Por exemplo :
fonte
SELECT
não modifica os dados. Como alternativa,TRUNCATE
faz e é, portanto, uma instrução DML e NÃO uma instrução DDL.DDL, linguagem de definição de dados
por exemplo:
CREATE
,ALTER
,DROP
,TRUNCATE
,COMMIT
, Etc.DML, Linguagem de Manipulação de Dados
A instrução DML é afetada na tabela. Portanto, essas são as operações básicas que realizamos em uma tabela.
SELECT
,INSERT
,UPDATE
, etc.Os comandos abaixo são usados no DML:
INSERT
,UPDATE
,SELECT
,DELETE
, Etc.fonte
Em termos leigos, suponha que você queira construir uma casa, o que você faz.
DDL
ou seja, idioma de definição de dadosisso é
CREATE
ALTER
DROP & CREATE
DML
ou seja, idioma de manipulação de dadosAs pessoas vêm / vão para dentro / da sua casa
SELECT
DELETE
UPDATE
TRUNCATE
DCL
ou seja, idioma de controle de dadosVocê deseja controlar as pessoas a que parte da casa elas têm permissão e tipo de acesso.
GRANT PERMISSION
fonte
Visite este site para obter mais informações: http://blog.sqlauthority.com/2008/01/15/sql-server-what-is-dml-ddl-dcl-and-tcl-introduction-and-examples/
fonte
DDL é a linguagem de definição de dados: pense que você está definindo o banco de dados. Então, usamos os comandos CREATE, ALTER TRUNCATE.
Depois de definir o DML, estamos manipulando os dados. Então, usamos o comando SELECT, INSERT, UPDATE, DELETE.
Lembre-se de que os comandos DDL são confirmados automaticamente. Você não precisa usar instruções COMMIT.
Os comandos DML (Data Manipulation Language) precisam ser confirmados / revertidos.
fonte
DDL = Data Definition Language, qualquer comando que forneça estrutura e outras informações sobre seus dados
DML = Data Manipulation Language, existem apenas 3 deles, INSERT, UPDATE, DELETE. 4, se você vai contar
SELECT * INTO x_tbl from tbl
de MSSQL (ANSI SQL:CREATE TABLE x_tbl AS SELECT * FROM tbl
)fonte
Em palavras simples.
DDL (linguagem de definição de dados): funcionará na estrutura dos dados. definir as estruturas de dados.
DML (linguagem de manipulação de dados): funcionará nos dados. manipula os próprios dados
fonte
DD L: altere o esquema
DML : alterar os dados
Parece específico às limitações do MySQL ( código fonte do rails )
fonte
DDL
Criar, Alterar, Soltar (Bancos de dados, Tabelas, Chaves, Índice, Visualizações, Funções, Procedimentos armazenados)
DML
Inserir, Excluir, Atualizar, Truncar de (Tabelas)
fonte
DDL significa Data Definition Language. DDL é usado para definir a estrutura da tabela, como criar uma tabela ou adicionar uma coluna à tabela e até soltar e truncar a tabela. DML significa Linguagem de manipulação de dados. Como o nome sugere, o DML usado para manipular os dados da tabela. Existem alguns comandos no DML, como inserir e excluir.
fonte