O que é DDL?
Linguagem de Definição de Dados ajuda a definir a estrutura ou esquema do banco de dados. Os comandos DDL ajudam a criar a estrutura do banco de dados e os outros objetos do banco de dados. Seus comandos são auto-comprometidos, portanto, as alterações são gravadas permanentemente no banco de dados. A forma completa da DDL é a Data Definition Language (Linguagem de Definição de Dados).
Nesta diferença entre o tutorial DML e DDL, você irá aprender:
- O que é DDL?
- O que é DML?
- Porquê DDL?
- Porquê DML?
- Diferença entre DDL e DML no SGBD
- Comandos para DDL
- Comandos para DML
- Exemplo de comando DDL
- Exemplo de comando DML
O que é DML?
Comanda DML para permitir a gestão dos dados armazenados na base de dados, embora os comandos DML não sejam auto-comprometidos. Além disso, eles não são permanentes. Portanto, é possível reverter a operação. A forma completa de DML é a Data Manipulation Language.
Below é a diferença chave entre DDL e DML no SGBD:
KEY DIFFERENCES:
- Data Definition Language (DDL) ajuda a definir a estrutura ou esquema do banco de dados, enquanto que a Data Manipulation Language (comando DML) permite que você gerencie os dados armazenados no banco de dados.
- Comando DDL é usado para criar o esquema do banco de dados enquanto o comando DML é usado para preencher e manipular o banco de dados
- Comparando DDL vs DML, as instruções DDL afetam toda a tabela enquanto os comandos DML afetam apenas uma ou mais linhas.
- Em DDL, a instrução SQL não pode ser revertida enquanto em DML a instrução SQL pode ser revertida.
- DDL é um método declarativo enquanto DML é um método imperativo.
- Comandos DDL importantes são: 1) CREATE, 2) ALTER, 3) DROP, 4) TRUNCATE, etc. enquanto que os comandos DML importantes são: 1) INSERT, 2) UPDATE, 3) DELETE, 4) MERGE, etc.
Porque DDL?
Here, são razões para usar o método DDL:
- Permite armazenar dados partilhados
- Independência de dados melhorou a integridade
- Permite múltiplos utilizadores
- Improved security efficient data access
Porquê DML?
Aqui, benefícios/prós de DML:
- As declarações de DML permitem-lhe modificar os dados armazenados numa base de dados.
- Os utilizadores podem especificar que dados são necessários.
- DML oferece muitos sabores e capacidades diferentes entre fornecedores de bases de dados.
- Propõe uma interacção humana eficiente com o sistema.
>
Diferença entre DDL e DML no SGBD
Aqui está a principal diferença entre os comandos DDL e DML:
DDL | DML |
Data Definition Language (DDL) ajuda-o a definir a estrutura ou esquema do banco de dados. | Linguagem de Manipulação de Dados (comando DML) permite gerenciar os dados armazenados no banco de dados. |
O comando DDL é usado para criar o esquema do banco de dados. | O comando DML é usado para povoar e manipular a base de dados |
DDL não é classificado mais. | DML é classificado como DML Procedurais e Não Procedurais e DMLs Procedurais. |
CREATE, ALTER, DROP, TRUNCATE AND COMMENT e RENAME, etc. | INSERIR, ATUALIZAR, APAGAR, ALTERAR, CONSELHAR, CHAMADAR, etc. |
Define a coluna da tabela. | Adiciona ou actualiza a linha da tabela |
As declarações DDL afectam toda a tabela. | DML afecta uma ou mais linhas. |
DeclaraçãoSQL não pode ser um rollback | DeclaraçãoSQL pode ser um rollback |
DDL é declarativa. | DML é imperativo. |
Comandos para DDL
Cinco tipos de comandos DDL são:
>
CREATE
As declarações deCREATE são usadas para definir o esquema de estrutura da base de dados:
Sintaxe:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES);
Por exemplo:
Create database university;Create table students;Create view for_students;
DROP
Comandos de gotas removem tabelas e bases de dados do RDBMS.
Sintaxe:
DROP TABLE ;
Por exemplo:
Drop object_type object_name;Drop database university;Drop table student;
ALTER
ComandoAlters permite alterar a estrutura da base de dados.
Sintaxe:
Para adicionar uma nova coluna na tabela
ALTER TABLE table_name ADD column_name COLUMN-definition;
Para modificar uma coluna existente na tabela:
ALTER TABLE MODIFY(COLUMN DEFINITION....);
Por exemplo:
Alter table guru99 add subject varchar;
TRUNCATE:
Este comando usava para apagar todas as linhas da tabela e libertar o espaço que continha a tabela.
Sintaxe:
TRUNCATE TABLE table_name;
Exemplo:
TRUNCATE table students;
Comandos para DML
Aqui estão alguns comandos importantes de DML:
- INSERT
- UPDATE
- DELETE
INSERT:
Esta é uma declaração que é uma consulta SQL. Este comando é usado para inserir dados na linha de uma tabela.
Sintaxe:
INSERT INTO TABLE_NAME (col1, col2, col3,.... col N) VALUES (value1, value2, value3, .... valueN); Or INSERT INTO TABLE_NAME VALUES (value1, value2, value3, .... valueN);
Por exemplo:
INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', 'Erichsen');
UPDATE:
Este comando é usado para atualizar ou modificar o valor de uma coluna na tabela.
Sintaxe:
UPDATE table_name SET
Por exemplo:
UPDATE students SET FirstName = 'Jhon', LastName=' Wick' WHERE StudID = 3;
DELETE:
Este comando é usado para remover uma ou mais linhas de uma tabela.
Sintaxe:
DELETE FROM table_name ;
Por exemplo:
DELETE FROM students WHERE FirstName = 'Jhon';
Comando DDL Exemplo
CREATE
Sintaxe:
CREATE TABLE tableName( column_1 datatype , column_2 datatype , ...);
Aqui,
- A tabela de parâmetrosNome denota o nome da tabela que vai criar.
- Os parâmetros coluna_1, coluna_2… indicam as colunas a serem adicionadas à tabela.
- Uma coluna deve ser especificada como NULL ou NÃO NULL. Se você não especificar, o SQL Server tomará NULL como padrão
Exemplo:
CREATE TABLE Students(Student_ID Int,Student_Name Varchar(10))
ALTER
Sintaxe:
Alter TABLE <Table name> ADD Column1 datatype, Column2 datatype;
Exemplo:
ALTER TABLE University.Students_Name ADD Course_Duration VARCHAR(20);
DROP
Sintaxe:
DROP TABLE <tableName>;
A tabela de parâmetrosNome é o nome da tabela que deve ser apagada.
Exemplo:
DROP TABLE COURSE_NAMES;
Exemplo de comando DML
INSERT
Em PL/SQL, podemos inserir os dados em qualquer tabela usando o comando SQL INSERT INTO. Este comando tomará o nome da tabela, coluna da tabela e valores da coluna como entrada e inserirá o valor na tabela base.
O comando INSERT também pode pegar os valores diretamente de outra tabela usando a instrução ‘SELECT’ em vez de dar os valores para cada coluna. Através da instrução ‘SELECT’, podemos inserir tantas linhas quantas a tabela base contém.
Sintaxe:
BEGIN INSERT INTO <table_name>(<column1 >,<column2>,...<column_n>) VALUES(<valuel><value2>,...:<value_n>);END;
A sintaxe acima mostra o comando INSERT INTO. O nome e os valores da tabela são campos obrigatórios, enquanto os nomes das colunas não são obrigatórios se as instruções de inserção tiverem valores para todas as colunas da tabela.
A palavra-chave ‘VALORES’ é obrigatória se os valores forem dados separadamente, como mostrado acima.
Sintaxe:
BEGIN INSERT INTO <table_name>(<columnl>,<column2>,...,<column_n>) SELECT <columnl>,<column2>,.. <column_n> FROM <table_name2>;END;
A sintaxe acima mostra o comando INSERT INTO que retira os valores directamente do comando <nome_da_tabela2> utilizando o comando SELECT.
A palavra-chave ‘VALUES’ não deve estar presente neste caso, pois os valores não são dados separadamente.
DELETE
Below é a sintaxe para apagar a tabela
Sintaxe:
DROP TABLE <TableName>;
O parâmetro TableName é o nome da tabela que deve ser apagada.
Exemplo:
DROP TABLE COURSE_NAMES;
SELECT
Para ver dados no SQL Server, usamos a instrução SELECT.
Sintaxe:
SELECT expressionFROM tableName;
Exemplo:
SELECT * FROM Course;