0% acharam este documento útil (0 voto)
58 visualizações9 páginas

Comandos Básicos de SQL

O documento fornece uma introdução abrangente aos comandos SQL, incluindo DML (SELECT, INSERT, UPDATE, DELETE), DDL (CREATE, ALTER, DROP) e DCL (GRANT, REVOKE). Cada comando é explicado com exemplos práticos, detalhando sua sintaxe e uso. Além disso, aborda conceitos como NULLs e funções agregadas, essenciais para manipulação e consulta de dados em bancos de dados.

Enviado por

Guilherme Moraes
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
58 visualizações9 páginas

Comandos Básicos de SQL

O documento fornece uma introdução abrangente aos comandos SQL, incluindo DML (SELECT, INSERT, UPDATE, DELETE), DDL (CREATE, ALTER, DROP) e DCL (GRANT, REVOKE). Cada comando é explicado com exemplos práticos, detalhando sua sintaxe e uso. Além disso, aborda conceitos como NULLs e funções agregadas, essenciais para manipulação e consulta de dados em bancos de dados.

Enviado por

Guilherme Moraes
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd

===================================================================================

========================================================
///////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////
===================================================================================
========================================================
TRANSACT-SQL
===================================================================================
========================================================
///////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////
===================================================================================
========================================================
SQL commands instructions:
===================================================================================
========================================================
///////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////
===================================================================================
========================================================
Commands of the DML:
Command [SELECT]
O comando select é usado para consultar dados de um banco de
dados. Ele permite que você recupere
informações de uma ou mais tabelas, de acordo com os critérios que você
definir.
O [SELECT] pode ser simples ou incluir filtros, ordenação,
junções e agregações, dependendo do que
você precisa.

EXEMPLO:
SELECT coluna1, coluna2, ...
FROM tabela1;

-> [coluna1, coluna2, ...]: São os nomes das colunas que


você quer selecionar
-> [tabela]: O nome da tabela de onde você está extraindo
os dados

obs:
Existem alguns comando que podem auxiliar nesse processo de
acesso e busca dedos um deles é o comando
[WHERE] ele é utilizado como um filtro dentro da tabela como mostrado
no exemplo:

Ex: [SELECT] nome, idade [FROM] cliente [WHERE] idade > 18;

Podemos organizar os resuldados de uma consulta com [ORDER BY]


ele permite que você ordene de forma
crescente [ASC] e decrescente [DESC] como podemos ver no exemplo:

Ex: [SELECT] nome, idade [FROM] clientes [ORDER BY] idade [DESC]
[SELECT] nome, idade [FROM] clientes [ORDER BY] idade [ASC]

Podendo também limitar a quantidade de resposta em relação ao banco com


o comando [LIMIT]:

===================================================================================
========================================================
Command [INSERT]
O comando [INSERT] é usado para adicionar novos registros
(linhas) a uma tabela.
O comando insere os dados diretamente nas colunas da tabela, e a
estrutura básica de um comando
[INSERT] envolve o nome da tabela e os valores que vocÊ deseja inserir.

Ex: [INSERT INTO] tabela (coluna1, coluna2, coluna3, ...)


[VALUES] (valor1, valor2, valor3, ...)

-> [tabela]: O nome da tabela onde você deseja inserir os


dados.
-> [coluna1, coluna2, coluna3, ...]: Os nomes das colunas
nas quais os dados serão inseridos.
-> [valor1, valor2, valor3, ...] Os valores correspondentes
que você quer inserir nessas colunas.

Ex: Suponhamos que você tenha uma tabela chamada [CLIENTES] com as
colunas [ID], [NOME] e [IDADE].
Para inserir um novo cliente na tabela, você faria o seguinte:

[INSERT INTO] CLIENTE (ID, NAME, IDADE)


[VALUES] (1, 'João Silva', 30);

Para inserios varios registros de uma vez basta fazer assim:

[INSERT INTO] CLIENTE (ID, NAME, IDADE)


[VALUES]
(2, 'Maria Oliveira', 25),
(3, 'Pedro Souza', 40),
(4, 'Ana Costa', 35);

Se não for especificado em qual coluna os dados devem ser alterados


será inserido em todas as colunas
com a mesma disposição dos values

Ex: [INSET INTO] CLIENTE


[VALUES] (5, 'Carlos Pereira', 28);
===================================================================================
========================================================
Command [UPDATE]
O comando [UPDATE] é utilizado para modificar dados existentes em
uma tabela. Ele permite alterar
valores em uma ou mais colunas de uma ou várias linhas de uma tabela.
A estrutura do comando é a seguinte:

Ex: [UPDATE] nome_da_tabela


[SET] nome_da_coluna = valor1, nome_da_coluna2 = valor2, ...
[WHERE] condição;
-> [nome_da_tabela]: é o nome da tabela onde você deseja
atualizar os dados.
-> [SET]: define quais colunas devem ser alteradas e os
novos valores que devem ser atribuídos a
essas colunas.
[WHERE] define uma condição para especificar quais linhas serão
atualizadas. Se a condição for
omitida, todas as linhas da tabela serão alteradas.

Ex: [UPDATE] empregados


[SET] salario = R$5000
[WHERE] id = 3;
===================================================================================
========================================================
Command [DELETE]
O comando [DELETE] é utilizado para excluir registros de uma
tabela.
Ele permite remover uma ou mais linhas com base em uma condição
especificada.

Estrutura:
[DELETE FROM] nomde_da_tabela
[WHERE] condição;
-> [nome_da_tabela]: é o nome da tabela da qual você quer
remover os dados.
-> [WHERE]: define a condição para especificar quais linhas
excluídas. Se a condição for
omitida, todas as linhas da tabela serão deletadas.

Ex: [DELETE FROM] empregados


[WHERE] id = 3;

Esse comando vai excluir o empregado com o [ID] igual a 3.


===================================================================================
========================================================
Command [COUNT]
O comando [COUNT] é utilizado para contar o número de registros
em uma tabela ou o número de registros que atendem a uma
condição específica. Ele pode ser usado de duas maneiras principais:
1° Contar o numéro total de registros em uma tabela:
Quando você usa [COUNT](*), ele conta todas as linhas da
tabela, independentemente de haver valores nulos ou não.

Ex: [SELECT] [COUNT](*) [FROM] table_name;

2° Contar registro em base de uma condição específica:


Se você quiser contar apenas as linhas que atendem a uma
determinada condição, pode usar o [COUNT] junto com a cláusula
[WHERE]. Por exemplo, contar quantos registros têm um valor
específico em uma coluna.

Ex: [SELECT] [COUNT](*) [FROM] table_name [WHERE] column =


'value';

3° Contar registro de uma coluna específica:


Se você deseja contar apenas os registros onde a coluna não
tem valor [NULL], pode usar o [COUNT] com o nome de uma coluna.
Ele só conta as linhas onde essa coluna possui valores diferentes
de [NULL].

Ex: [SELECT] [COUNT](column_name) FROM (table_name);


===================================================================================
========================================================
Command [AS]
O comando [AS] é usado para atribuir um alias(apelido) a uma
tabela ou coluna dentro de uma consulta.
O alias facilita a leitura e compreensão da consulta, tornando os
resultados mais claros ou simplificando a referência a
tabelas ou colunas.
Você pode usar AS para dar um nome mais amigável ou mais curto
para uma coluna nos resultados da consulta. Isso não altera o
nome da coluna na tabela, apenas como ela será exibida no resultado.

Ex: [SELECT] name [AS] user_name, age [AS] user_age


[FROM] User;

A coluna [name] será exibida como [user_name].


A coluna [age] será exibida como [user_age].
===================================================================================
========================================================
///////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////
===================================================================================
========================================================
Commands of the DDL
Command [CREATE]
O comando [CREATE] é usadoid para criar novos objetos dentro de
um banco de dados, como tabelas, bancos de dados, índices,
usuários e outros. A sintaxe varia dependendo do que você deseja criar.

Ex: [CREATE] DATABASE bank_name


dessa forma é criado um novo banco de dados chamado 'bank_name'

[CREATE TABLE] customers ( id [{INT} PRIMARY KEY AUTO_INCREMENT],


name {VARCHAR(100)} [NOT NULL],
email {VARCHAR(100)} [UNIQUE NOT NULL],
date_birth [DATE]
dessa forma é criado uma nova tabela com colunas e especificações
dos dados armazenados nelas.
===================================================================================
========================================================
Command [ALTER]
O comando [ALTER] é usado para modificar a estrutura de uma
tabela existente. Ele permite adicionar, modificar ou remover
colunas, além de alterar restrições (constraints).
A estrutura base dela é asseguinte.

Ex: [ALTER TABLE] table_name action;

Segue alguns exemplos de finalidades para o comando [ALTER]:


1° Add a new column

[ALTER TABLE] customers [ADD] telephone


{VARCHAR(15)};

Adiciona a coluna telefone do tipo VARCHAR(15)


na tabela clientes.
Se precisar definir que a nova coluna não pode ser
nula e tenha um valor padrão:

[ALTER TABLE] customers [ADD] telephone {VARCHAR(20)}


[NOT NULL DEFAULT] 'active'
2° Modify an existing column

Alterando o tipo de dado de uma coluna:

[ALTER TABLE] customers [MODIFY] telephone


{VARCHAR(20)};

Isso muda o tipo da coluna telefone para


VARCHAR(20).

Renomear uma coluna:

[ALTER TABLE] customer [CHANGE] telephone call


phone {VARCHAR(20)};

Isso muda o nome da coluna telefone para


celular e mantém o tipo VARCHAR(20).

Alterar o valor padrão de uma coluna:

[ALTER TABLE] customer [ALTER] balance [SET


DEFAULT] 100.00;

3° Remove column

[ALTER TABLE] customer [DROP COLUMN] telephone;

4° Add or remover a restriction (constraint)

Adicionar uma nova chave estrangeira:

[ALTER TABLE] customer [ADD CONSTRAINT] fk_city


[FOREIGN] KEY (city_id) [REFERENCES] city(id);

Remover uma chave estrangeira:

[ALTER TABLE] customer [DROP FOREIGN] KEY


fk_city;
===================================================================================
========================================================
Command [DROP]
O comando é usado para excluir completamente objetos do banco de
dados, como tabelas, bancos de dados, colunas, índices e
restrições.

[DROP] objeto tipo;

1° Delete a database

[DROP] DATABASE bank_name

Isso exclui todo o banco de dados e todos os dados dentro dele.

2° Delete a table

[DROP TABLE] customer;

Isso remove completamente a tabela [customer] e todos os


registros nela.
Se quiser apenas apagar os dados os dados da tabela sem remover
sua estrutura, use:

[TRUNCATE TABLE] customer;


[DROP TABLE] Apaga a tabela inteira e sua estrutura.
[TRUNCATE] Apaga apenas os registros, mas mantem a
estrutura da tabela.

3° Delete a specific column from a table

[ALTER TABLE] customer [DROP COLUMN] telephone;

Isso remove apenas a coluna telefone, sem excluir a tabela


inteira.

4° Delete a (constraint)

[ALTER TABLE] customer [DROP CONSTRAINT] fk_city;


ou, se for uma chave estrangeira no MySQL:
[ALTER TABLE] customer [DROP FOREIGN] KEY fk_city;

Se houver uma chave estrangeira (FOREIGN KEY), um índice (INDEX)


ou outra restrição que precisa ser removida
===================================================================================
========================================================
///////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////
===================================================================================
========================================================
Commands of the DCL ([REVOKE] e [DENY])
Command [GRANT]
O comando [GRANT] é usado para conceder permissões a usuarios ou
roles(Grupos de usuarios) no banco de dados, ele permite
definir quais ações um usuário pode realizar, como selecionar, inserir,
atualizar, excluir e até administrar objetos do banco.

1° Grant basic permissions to a user


[GRANT] [SELECT], [INSERT], [UPDATE ON] database.customer
[TO] 'usuario'@'localhost';

Isso dá ao usuário ['usuario'@'localhost'] permissão para


selecionar, inserir e atualizar dados na tabela [clientes] do banco
de [dados banco_dados].
[SELECT] Permite ler os dados da tabela.
[INSERT] Permite adicionar novos registro.
[UPDATE] Permite modificar registro existence.

2° Grant all permissions (ADMIN)


[GRANT] [ALL] Previleges [ON] database.* [TO]
'admin_user'@'%';

Isso dá todas permissões ao usuários 'admin_user' para todas as


tabelas do banco de dados [database].
O carater "*" significa todas as tabelas do banco.
O "%" indica que o usuário pode acessar de qualquer IP.
===================================================================================
========================================================
Command [REVOKE]

===================================================================================
========================================================
///////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////
===================================================================================
========================================================
Data type:
Numérico exato Numérico Caractere
Data/Hora Binário Outros
aproximado

TINYINT FLOAT char


date binary cursor
SMALLINT real varchar
time varbinary hierarchyid
INT text
DATETIME image sql_variant
BIGINT NCHAR
DATETIME2 table
bit
NVARCHAR smalldatetime
timestamp
decimal/numeric ntext
datetimeoffset UNIQUEIDENTIFIER
numeric
Xml
money
geografia
SMALLMONEY
geometria
===================================================================================
========================================================
///////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////
===================================================================================
========================================================
O que
são NULLs?
[NULLs]
o valor [NULL] é utilizado para representar a ausência de dados ou
valores desconhecidos em uma coluna de uma tabela. Quando
uma célula em uma tabela contém um valor [NULL], isso significa que o valor
não foi definido ou está indefinido. Ele simplesmente
indica que o dado não existe ou não foi fornecido.

Ex:[INSERT INTO] funcionarios (id, name, wage, date_dismissal)


[VALUE]
(1, 'João Silva', $3000.00, NULL),
(2, 'Maria Oliveira', $3500.00, '2023-12-15'),
(3, 'Carlos Souza', $2500.00, NULL);

CONSIDERAÇÕES:
1° Comparação com [NULL]
Quando se compara um valor a [NULL] ( por exemplo, coluna =
[NULL]), o resultado sempre será falso, Para verificar se
uma coluna tem [NULL], você deve usar [IS NULL] ou [IS NOT NULL].

[IS NULL] e [IS NOT NULL]


O comando [IS NULL] em SQL é utilizado para verificar se um
valor em uma coluna é nulo. Esse comando retorna todas as
linhas onde a coluna especificada tem valor nulo.
Da mesma forma, se você quiser verificar se uma coluna não
é nula, você pode usar o comando [IS NOT NULL]
Ex: [SELECT] * [FROM] tabela [WHERE] coluna [IS NULL]

2° Funções com [NULL]


Algumas funções tem comportamentos diferentes especiais
qunado lidam com [NULL]. Por exemplo a função [COALESCE]
pode ser usada para substituir valores [NULL] por um valor
específico:

[COALESCE]
O comando [COALESCE] em SQL é uma função que retorna o
primeiro valor não nulo em uma lista de expressões. Ele
avalia cada valor da esquerda para a direita e retorna o primeiro
valor que não seja nulo. Se todos os valores forem
nulos, ele retorna nulo.

Ex: [SELECT] [COALESCE] (coluna, 'Valor Padrão') [FROM] tabela;

3° [NULLs] em agregações
Funções de agregadas, como [SUN], [AVG], [COUNT], ignoram
valores [NULLs] em seus cálculos(exceto o [COUNT](*), que
conta todas as linhas, incluido as [NULLs]).

[SUN]
O comando [SUM] é uma função agregada em SQL usada para
somar os valores de uma coluna.
Ele é muito útil quando você quer calcular o total de uma coluna.
A função [SUM] retorna a soma de todos os valores na
coluna especificada, ignorando os valores nulos.

Ex: [SELECT] [SUM] (coluna)


[FROM] tabela
[WHERE] condição;

[AVG]
O comando [AVG] é usado para cálcular a média de valores em
uma coluna numérica. Ele soma todos os valores de uma
coluna e, em seguida, divide pela quantidade de valores não
nulos, retornando o valor médio.

Ex: [SELECT] [AVG] (coluna)


[FROM] tabela
[WHERE] condição;
===================================================================================
========================================================
[ISNULL]
O comando [ISNULL] é uma função usada em SQL para substituir valores
[NULL] por um valor alternativo, se a expressão for
[NULL]. Se a expressão não for [NULL], o valor original é retornado.

Ex: [SELECT] FirstName,


[ISNULL](MiddleName, 'nome') [AS] MiddleifAny,
LastName
[FROM] Sales.Customer;

O exemplo anterior processou um valor nulo na tabela de origem, mas você pode
usar [ISNULL] com qualquer expressão que possa
retornar [NULL], incluindo o alinhamento de uma função [TRY_CONVERT] em uma função
[ISNULL].
===================================================================================
========================================================
[NULLIF]
A função NULLIF permite que você retorne NULL sob determinadas
condições.

Ex: [SELECT] SalesOrderId,


ProductId,
UnitPrice,
[NULLIF](UnitePriceDiscount, 0) [AS] Discount
[FROM] Sales.SalesOrderDetail;

Neste exemplo, NULLIF substitui um desconto de 0 por um NULL. Ele retornará o


valor de desconto se não for 0
===================================================================================
========================================================
///////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////
===================================================================================
========================================================

Você também pode gostar