Você está na página 1de 4

Banco de Dados – Comandos DML – Professor Kane San Chan

Comandos DML
Data Manipulation Language (Linguagem de Manipulação de Dados)

É um conjunto de comandos responsáveis pela consulta e atualização dos dados armazenados


em um banco de dados.

▪ INSERT
Objetivo
Incluir um novo registro em uma tabela do banco de dados.
Sintaxe

INSERT INTO <nome-tabela> [(<nome-coluna>, [(nome-coluna>)]


VALUES (<relação dos valores a serem incluídos>)
❖ nome-tabela: representa o nome da tabela na qual será incluído o registro.
❖ nome-coluna: representa o nome da(s) coluna(s) que terá(ão) conteúdo no momento
da operação de inclusão.
Exemplos

Nos exemplos, a data está no formato padrão (‘ano-mês-dia’). Se a versão que foi
instalada estiver em português, então usar o formato ‘dia-mês-ano’.

Esse comando pode ser executado de três maneiras:

1. Quando apenas parte dos campos da tabela tiver conteúdo.


INSERT INTO Medico
(codigo, crm, nome, especialidade, salario)
VALUES
(1, 21067, ‘Marian Paulin’,‘Alergia e Imunopatologia’, 7500.00)
Neste caso devem ser especificadas todas as colunas que terão conteúdo e os valores
relacionados devem obedecer a essa sequência. Para os campos que não têm conteúdo
especificado será preenchido o valor NULL.

2. Quando todos os campos da tabela tiverem conteúdo.


INSERT INTO Medico
VALUES
(2, 22305, ‘Paulo Gonzaga’, ‘Cardiologia’, 9500.65)
Neste caso não é necessário especificar as colunas, entretanto a relação dos valores a serem
incluídos deve obedecer à mesma sequência da definição da tabela.

3. Várias linhas ao mesmo tempo.


SELECT LAST_INSERT_ID() INTO @ID;
INSERT INTO Medico
VALUES
(3, 10076, ’José da Fonseca’, ‘Pediatria’, 8434.87),
(@ID, 3232, ‘Marcos Guilherme’, ‘Neurologia’, 13998.99)
Neste caso dois médicos são incluídos juntos, ou seja, no mesmo insert. O comando last_insert_id(),
recupera o ultimo id no banco e somamos mas um ao próximo.
Banco de Dados – Comandos DML – Professor Kane San Chan

▪ UPDATE
Objetivo
Atualizar os dados de um ou um grupo de registros em uma tabela de banco de dados.
Sintaxe

UPDATE <nome-tabela>
SET <nome-coluna> = <novo conteúdo para o campo>
[, <nome-coluna> = <novo conteúdo para o campo>]
WHERE <condição>

❖ nome-tabela: representa o nome da tabela cujo conteúdo será alterado.


❖ nome-coluna: representa o nome da(s) coluna(s) que terá(ão) seus conteúdos alterados
com o novo valor especificado.
❖ condição: representa a condição para a seleção dos registros que serão atualizados. Essa
seleção pode resultar em um ou vários registros. Neste caso a alteração ocorre em todos
os registros selecionados.

Exemplos

UPDATE medico SET especialidade = 'Dermatologista' WHERE codigo = '1';


Altera para Dermatologista o médico com código 1.

UPDATE medico SET salario = 1000.50 WHERE nome = 'Pedro Augusto';


Altera para 1000.50 onde o nome do médico é Pedro Augusto.

Atenção!

Siga os passos abaixo antes de executar o comando UPDATE no MySQL Workbench:

1. Go to Edit → Preferences
2. Click "SQL Queries" tab and uncheck "Safe Updates" check box
3. Query → Reconnect to Server
4. Now execute your sql query

▪ DELETE
Objetivo
Delegar um registro ou um grupo de registros em uma tabela do banco de dados.
Sintaxe

DELETE FROM <nome-tabela>


WHERE <condição>;

❖ nome-tabela: representa o nome da tabela cujo registros serão deletados.


❖ condição: representa a condição para a deleção dos registros. A seleção pode resultar
em um ou vários registros. Neste caso a operação ocorre em todos os registros
selecionados.
Banco de Dados – Comandos DML – Professor Kane San Chan

Exemplos

DELETE FROM Medico;


Exclui todos os médicos.
DELETE FROM Medico
WHERE codigo = 2;
Exclui somente o médico com código 2.

▪ SELECT
Objetivo
Selecionar um conjunto de registros em uma ou mais tabelas que atenda a uma
determinada condição pelo comando.
Sintaxe

SELECT [DISTINCT] | [ALL] <nome-coluna> [, <nome-coluna>]


FROM <nome-tabela> [, <nome-tabela>]
WHERE <condição>
GROUP BY <nome-coluna>
HAVING <condição>
ORDER BY <nome-campo> ASC | DESC

❖ nome-tabela: representa o nome da(s) tabela(s) que contém as colunas que serão
selecionadas ou utilizadas para execução da consulta.
❖ condição: representa a condição para a seleção dos registros. Essa seleção pode resultar
um ou vários registros.
❖ nome-coluna: representa a(s) coluna(s) cujos resultados são agrupados para atender à
consulta.
❖ ALL: argumento default. Mostra todos os valores obtidos na seleção.
❖ DISTINCT: argumento que mostra os valores obtidos na seleção, eliminando as
duplicidades.
❖ WHERE: especifica o critério da seleção dos registros nas tabelas especificas.
❖ GROUP BY: especifica o(s) campo(s) que será(ão) agrupado(s) para atender a consulta.
❖ HAVING: especifica uma condição para seleção de um grupo de dados. Esse argumento
só é utilizado combinado com o argumento Group By.
❖ ORDER BY: esse argumento, quando utilizado, apresenta o resultado da consulta
ordenado de forma crescente (ASC – opção default) ou decrescente (DESC) pelos
campos definidos.
Exemplos

SELECT * FROM Medico;


Exclui todos os dados dos médicos.
SELECT * FROM Medico
ORDER BY nome;
Exibe todos os dados dos médicos ordenados por nome.
SELECT nome FROM Medico
ORDER BY nome DESC;
Exibe somente os nomes dos médicos em ordem decrescente.
SELECT nome, especialidade FROM Medico
WHERE especialidade = ‘Pediatria’;
Banco de Dados – Comandos DML – Professor Kane San Chan

Exibe somente o nome e especialidade dos médicos da especialidade de Pediatria.


SELECT especialidade FROM Medico;
Exibe somente a especialidade dos médicos.
SELECT DISTINCT especialidade FROM Medico;
Exibe somente a especialidade dos médicos, sem repetir especialidades iguais.

Você também pode gostar