Conteúdo
Primeiramente, é importante entender que à medida que as empresas e organizações lidam com quantidades cada vez maiores de dados, há uma necessidade crescente de que os desenvolvedores usem bancos de dados de maneira eficaz para lidar com esses dados, dessa forma, surge a importância de conhecer os comandos SQL.
O que é SQL?
Em primeiro lugar, SQL, que significa Structured Query Language, ou Linguagem de Consulta Estruturada é a linguagem de pesquisa declarativa padrão para banco de dados relacional. Dessa forma, muitas das características originais do SQL foram inspiradas na álgebra relacional.
Portanto, a maioria dos bancos de dados como SQL Server, Oracle, PostgreSQL, MySQL, MariaDB manipulam esta linguagem (com algumas extensões e variações) para lidar com os dados.
Assim, com o SQL você pode inserir, excluir e atualizar dados. Dessa forma, você também pode criar, excluir ou alterar objetos de banco de dados.
Atenção! Descubra os melhores cursos de programação neste guia especial: Cursos de Programação.
Quem criou o SQL?
Edgar Frank Codd, enquanto trabalhava para a IBM, inventou o banco de dados relacional nos anos 70. Portanto, com base nesse trabalho, Donald Chamberlin e Raymond Boyce desenvolveram o SQL para manipular dados.
Ele foi inicialmente chamado de SEQUEL, mas devido a um problema de marca registrada, foi alterado para SQL.
No entanto, muitas pessoas ainda dizem SEQUEL.
Leia também: O que é Docker?
Tipos de comando SQL
Então, que o SQL é a linguagem de banco de dados com a qual podemos realizar certas operações no banco de dados existente e também podemos usar essa linguagem para criar um banco de dados. Dessa forma, o SQL usa certos comandos como Create, Drop, Insert, etc. para realizar as tarefas necessárias.
Esses comandos SQL são categorizados principalmente em cinco categorias, como: DDL, DML, DCL, TCL e DQL.
- DDL: Linguagem de definição de dados;
- DML: Linguagem de manipulação de dados;
- DCL: Linguagem de Controle de Dados;
- TCL: Linguagem de controle de transação;
- DQL: linguagem de consulta de dados.
Comandos SQL que todo programador precisa saber
DDL: Linguagem de definição de dados
Sobretudo, uma linguagem de definição de dados (DDL) permite aos usuários especificar um esquema de banco de dados através de um conjunto de definições. Portanto, um esquema é o projeto geral de um banco de dados e raramente é modificado. Compõe uma linguagem de consulta banco de dados, como por exemplo, o SQL. Dessa forma, se assemelha a uma linguagem simples (do inglês) e torna fácil a interação do usuário com o sistema de banco de dados.
- CREATE: utilizado para criar banco de dados, tabelas, store procedures, entre outros.
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);
CREATE TABLE EMPLOYEE(Name VARCHAR2(20), Email VARCHAR2(100), DOB DATE);
- ALTER: faz modificações em objetos criados com o CREATE, como inserir ou remover uma nova coluna em uma tabela, alterar o tipo das colunas etc.
Sintaxe:
Para adicionar uma nova coluna na tabela
ALTER TABLE table_name ADD column_name COLUMN-definition;
Para modificar a coluna existente na tabela:
ALTER TABLE table_name MODIFY(column_definitions....);
Exemplo:
ALTER TABLE STU_DETAILS ADD(ADDRESS VARCHAR2(20));
ALTER TABLE STU_DETAILS MODIFY (NAME VARCHAR2(20));
- DROP: remove o que foi criado com o CREATE
DROP TABLE table_name;
DROP TABLE EMPLOYEE;
DML: Linguagem de manipulação de dados
Então, uma linguagem de manipulação de dados (DML) é uma família de linguagens de computador, incluindo comandos que permitem aos usuários manipular dados em um banco de dados.
Portanto, essa manipulação envolve inserir dados em tabelas de banco de dados, recuperar dados existentes, excluir dados de tabelas existentes e modificar dados existentes. DML é principalmente incorporado em bancos de dados SQL.
- INSERT: é uma forma de inserir dados em uma tabela.
INSERT INTO TABLE_NAME
(col1, col2, col3,.... col N)
VALUES (value1, value2, value3, .... valueN);
OU
INSERT INTO TABLE_NAME
VALUES (value1, value2, value3, .... valueN);
INSERT INTO javatpoint (Author, Subject) VALUES ("Sonoo", "DBMS");
- UPDATE: Para atualizar um registro em uma tabela, você usa a instrução UPDATE.
UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]
UPDATE students
SET User_Name = 'Sonoo'
WHERE Student_Id = '3'
- DELETE: pode remover todas as linhas de uma tabela (usando *) ou pode ser usado como parte de uma cláusula WHERE para excluir linhas que atendam a uma condição específica.
DELETE FROM table_name [WHERE condition];
DELETE FROM javatpoint
WHERE Author="Sonoo";
DCL: Linguagem de Controle de Dados
DCL inclui comandos como GRANT e REVOKE que lidam principalmente com os direitos, permissões e outros controles do sistema de banco de dados.
- GRANT: concede aos usuários privilégios de acesso ao banco de dados.
GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;
- REVOKE: retira os privilégios de acesso do usuário dados usando o comando GRANT.
REVOKE SELECT, UPDATE ON MY_TABLE FROM USER1, USER2;
TCL: Linguagem de controle de transação
Os comandos TCL são usados para gerenciar transações no banco de dados.
Dessa forma, um conjunto de instruções SQL correlacionadas logicamente e executadas nos dados armazenados na tabela é conhecido como transação.
- COMMIT: confirma uma transação.
COMMIT;
DELETE FROM CUSTOMERS
WHERE AGE = 25;
COMMIT;
- ROLLBACK: reverte uma transação no caso de ocorrer algum erro.
ROLLBACK;
DELETE FROM CUSTOMERS
WHERE AGE = 25;
ROLLBACK;
- SAVE POINT: define um ponto de salvamento dentro de uma transação.
SAVEPOINT SAVEPOINT_NAME;
DQL: linguagem de consulta de dados
Assim, os comandos DQL são basicamente instruções SELECT. Portanto, as instruções SELECT permitem consultar o banco de dados para localizar informações em uma ou mais tabelas e retornar à consulta como um conjunto de resultados.
Dessa forma, um conjunto de resultados é uma estrutura de array, ou mais precisamente, um conjunto de resultados é uma matriz bidimensional. Então, o índice interno para cada linha de dados é a pseudocoluna rowid, que mapeia para o endereço físico onde os dados são gravados.
- SELECT: é usado para recuperar dados do banco de dados.
#Exemplo
Problema: Liste todos os fornecedores na Itália.
SELECT *
FROM Supplier
WHERE Country = 'Italy'
Comandos SQL: Cláusulas
Primeiramente, as cláusulas são funções integradas disponíveis para nós no SQL. Dessa forma, com a ajuda de cláusulas, podemos lidar com dados facilmente armazenados na tabela.
Então, as cláusulas nos ajudam a filtrar e analisar os dados rapidamente. Portanto, quando temos grandes quantidades de dados armazenados no banco de dados, usamos cláusulas para consultar e obter os dados exigidos pelo usuário.
Alguns dos exemplos de cláusulas são: WHERE, AND, OR, LIKE, TOP, ORDER BY, HAVING, GROUP BY etc.
WHERE:
Uma cláusula WHERE filtra os dados que atendem a alguns critérios.
WHERE retorna apenas as linhas de seu interesse.
Uma condição WHERE retorna verdadeiro ou falso.
WHERE pode ser usado com SELECT, UPDATE e DELETE.
#Exemplo
Liste todos os fornecedores na França.
SELECT *
FROM Supplier
WHERE Country = 'France'
SQL WHERE com AND, OR e NOT:
Um WHERE com AND requer que duas condições sejam verdadeiras.
WHERE com OR requer que uma das duas condições seja verdadeira.
WHERE com NOT nega a condição especificada.
#Exemplo
Problema: Liste todos os fornecedores em Paris, França.
SELECT *
FROM Supplier
WHERE Country = 'France' AND City = 'Paris'
SQL GROUP BY:
Retorna um registro para cada grupo.
Pode agrupar registros por uma ou mais colunas.
São usados com agregados: COUNT, MAX, etc.
#Exemplo
Problema: Liste o número de produtos para cada fornecedor, classificados de cima para baixo.
SELECT S.CompanyName, COUNT(P.Id) AS Products
FROM Supplier S
JOIN Product P ON S.Id = P.SupplierId
GROUP BY S.CompanyName
ORDER BY COUNT(P.Id) DESC
SQL GROUP BY HAVING
HAVING é como WHERE, mas opera em registros agrupados.
HAVING requer que uma cláusula GROUP BY esteja presente.
Os grupos que atenderem aos critérios HAVING serão devolvidos.
WHERE e HAVING podem ser usados na mesma consulta.
HAVINGs são usados com agregados: COUNT, SUM, etc.
#Exemplo
Problema: Liste todos os países com mais de 2 fornecedores.
SELECT Country, COUNT(Id) AS Count
FROM Supplier
GROUP BY Country
HAVING COUNT(Id) > 2
SQL ORDER BY
A cláusula ORDER BY retorna as linhas em uma determinada ordem de classificação.
SQL ORDER BY permite classificar por uma ou mais colunas.
Os registros podem ser retornados em ordem crescente ou decrescente.
#Exemplo
Problema: liste todos os clientes classificados por país.
SELECT *
FROM Customer
ORDER BY Country
Funções SQL COUNT, SUM, AVG
COUNT, SUM e AVG são funções agregadas.
COUNT retorna uma contagem do número de valores de dados.
SUM retorna a soma dos valores dos dados.
AVG retorna a média dos valores dos dados.
#Exemplo
Problema: obtenha o número total de produtos.
SELECT COUNT(Id) AS 'Product Count'
FROM Product
Conclusão de comandos SQL
Portanto senhores, eu tentei deixar esse artigo o mais completinho possível para quem está tendo o seu primeiro contato com SQL e também para quem já conhece a linguagem SQL e está aqui somente para relembrar algum conceito.
Espero de fato que esse artigo tenha sido útil para você. Dessa forma, caso conheça algum amigo ou companheiro que precisa estudar esse artigo, por favor, compartilhe no seu grupo da faculdade ou grupo de estudos, é tudo que nós pedimos.