Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Você Precisa Saber o Que É SQL! - (Dicas de Programação)

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 8

Dicas para programação e

Procurar
desenvolvimento de softwares.

Você precisa saber o que é SQL!


Gustavo Furtado de Oliveira Alves Banco de dados 35 Comentários

SQL (Structured Query Language) é a linguagem padrão universal para manipular bancos de
dados  relacionais através dos SGBDs. Isso significa que todos os SGBDRs (Sistema de
Gerenciamento de Banco de Dados Relacionais) oferecem uma interface para acessar o banco de
dados utilizando a linguagem SQL, embora com algumas variações. Logo, saber o que é SQL e
como utilizá-la é fundamental para qualquer desenvolvedor de softwares.

A "Linguagem Estruturada de Consultas" (SQL, traduzida para o português) é utilizada para


interagir com o SGBD e executar várias tarefas como inserir e alterar registros, criar objetos no
banco de dados, gerenciar usuário, consultar informações, controlar transações, etc. Todas as
operações realizadas no banco de dados podem ser solicitadas ao SGBD utilizando esta
linguagem.

A linguagem SQL é dividida em 4 agrupamentos de acordo com o tipo de operação a ser executada
no banco de dados. A saber, DML (Data Manipulation Language, ou Linguagem de Manipulação de
Dados e português), DDL (Data Definition Language, ou Linguagem de Definição de Dados em
português), DCL (Data Control Language, ou Linguagem de Controle de Dados em português) e
DTL (Data Transaction Language, ou Linguagem de Transação de Dados em português).

Alguns autores classificam também uma divisão da linguagem para consultas, a DQL (Data Query
Language, Linguagem de Consulta de Dados), que tem apenas um comando (SELECT), porém é
mais comum encontrar este comando como integrante da DML, juntamente com os comandos
INSERT, UPDATE e DELETE. Vejamos os comandos SQL de cada agrupamento.

DML - DATA MANIPULATION LANGUAGE


DML (Linguagem de Manipulação de Dados) é o subconjunto mais utilizado da linguagem SQL, pois
é através da DML que operamos sobre os dados dos bancos de dados com instruções de inserção,
atualização, exclusão e consulta de informações. Os comandos SQL desse subconjunto são:

INSERT: utilizado para inserir registros (tuplas), em uma tabela.


Exemplo: INSERT into CLIENTE(ID, NOME) values(1,'José');
UPDATE: utilizado para alterar valores de uma ou mais linhas (tuplas) de uma tabela.
Exemplo: UPDATE CLIENTE set NOME = 'João'  WHERE ID = 1;
DELETE: utilizado para excluir um ou mais registros (tupla) de uma tabela.
Exemplo: DELETE FROM CLIENTE WHERE ID = 1;
SELECT: O principal comando da SQL, o comando select é utilizado para efetuar consultas no
banco de dados.
Exemplo: SELECT ID, NOME FROM CLIENTE;

Nota: Registro, Linha e Tupla são palavras sinônimas para referenciar a uma linha da
tabela.

DDL - DATA DEFINITION LANGUAGE


DDL (Linguagem de Definição de Dados) é o subconjunto da SQL utilizado para gerenciar a
estrutura do banco de dados. Com a DDL podemos criar, alterar e remover objetos (tabelas,
visões, funções, etc.) no banco de dados. Os comandos deste subconjunto são:

CREATE: utilizado para criar objetos no banco de dados.


Exemplo (criar uma tabela): CREATE TABLE CLIENTE ( ID INT PRIMARY KEY, NOME
VARCHAR(50));
ALTER: utilizado para alterar a estrutura de um objeto.
Exemplo (adicionar uma coluna em uma tabela existente):  ALTER TABLE CLIENTE ADD
SEXO CHAR(1);
DROP: utilizado para remover um objeto do banco de dados.
Exemplo (remover uma tabela): DROP TABLE CLIENTE;

DCL - DATA CONTROL LANGUAGE


DCL (Linguagem de Controle de Dados) é o subconjunto da SQL utilizado para controlar o acesso
aos dados, basicamente com dois comandos que permite ou bloqueia o acesso de usuários a
dados. Vejamos estes comandos:

GRANT: Autoriza um usuário a executar alguma operação.


Exemplo (dar permissão de consulta na tabela cliente para o usuário carlos): GRANT
select ON cliente TO carlos;
REVOKE: Restringe ou remove a permissão de um usuário executar alguma operação.
Exemplo (não permitir que o usuário carlos crie tabelas no banco de dados):  REVOKE
CREATE TABLE FROM carlos;

DTL - DATA TRANSACTION LANGUAGE


DTL (Linguagem de controle de transações) é o subconjunto da SQL que fornece mecanismos para
controlar transações no banco de dados. São 3 comandos: iniciar uma transação (BEGIN
TRANSACTION), efetivar as alterações no banco de dados (COMMIT) e cancelar as alterações
(ROLLBACK).

CONCLUSÃO
Quem quer trabalhar com desenvolvimento de softwares precisa aprender a SQL, pois a maioria
dos sistemas de informação interage com banco de dados, e essa é a linguagem universal para
fazer qualquer coisa nos bancos de dados relacionais (o tipo de banco de dados mais utilizado na
industria). Pode haver pequenas variações na linguagem dependendo do SGBD, mas a sintaxe dos
comandos são muito parecidas.

Cada comando citado neste artigo possui uma série de recursos, o comando que tem mais
recursos, obviamente, é o comando SELECT. O objetivo deste artigo é apenas apresentar a
linguagem SQL e seus comandos, continue ligado aqui no { Dicas de Programação } que vamos ver
os detalhes de cada comando desta linguagem.

Sobre Gustavo Furtado de Oliveira Alves


É mestre em computação aplicada pelo Institudo Nacional de Pesquisas Espaciais, Engenheiro

da Computação pela ETEP Faculdades e Técnico em Informática pela Escola Técnica Pandiá

Calógeras. Possui as certificações AWS Architect Associate, AWS Cloud Practitioner, SCJP-6,

SCWCD-5 e Agile Scrum Foundation e trabalha com desenvolvimento de softwares desde 2007.

Veja todos os artigos de Gustavo Furtado de Oliveira Alves →

TAMBÉM EM { DICAS DE PROGRAMAÇÃO }

Como instalar o Exercício: Algorítmo Inglês técnico para Java, Python ou


MySQL no Windows … Par ou Ímpar programadores Javascript?

3 anos atrás • 19 comentários 3 anos atrás • 6 comentários 4 anos atrás • 2 comentários 3 anos atrás • 9 com
O MySQL é um dos SGBDs Lógica de programação se Que aprender inglês ajuda A dúvida que fica
mais conhecidos do mundo. aprende com muita prática. na carreira de qualquer martelando na cab
Muito famoso por ser … Por isso quero mostrar … profissional, isso tudo … maioria das pesso

35 Comentários { Dicas de Programação } 🔒 Disqus' Privacy Policy  Davidson Lima

 Recomendar 3 t Tweet f Compartilhar Ordenar por Mais votados

Participe da discussão...

Paulo Silveira • 2 anos atrás


Muito bom Gustavo! Ja tem alguns anos e continua super detalhado. Escrevi um focado mais em SQL
em si com os exemplos básicos de SELECT e INSERT
1△ ▽ • Responder • Compartilhar ›

Gustavo Furtado Mod > Paulo Silveira • 2 anos atrás


Obrigado Paulo! Que honra ter um comentário seu aqui no meu humilde blog. Sou fã do seu
trabalho!
△ ▽ • Responder • Compartilhar ›

Jesus Of Suburbia • 3 anos atrás


Muito bom Companheiro
△ ▽ • Responder • Compartilhar ›

mauricio rodrigues • 3 anos atrás


Boa tarde Gustavo,
meu nome é Mauricio e faço o curso de engenharia eletrônica e passei pelas matérias LP1 e LP2 (usando
o c) porém sinto que estou muito aquém do que necessito
o c), porém sinto que estou muito aquém do que necessito.
Estou "arranjando tempo" para realizar o seu curso de Algoritmos e depois passar para uma linguagem
específica. No meu caso devo aprender uma linguagem basicamente voltada para os sistemas
embarcados para aplicar em microcontroladores, Arduino, etc.
Gostaria de saber sua opinião em qual curso começar para me dedicar (c, c++, outra) e gostaria de saber
também se você pretende oferecer algum destes cursos, pois gostei muito de sua didática no curso de
lógica de programação para iniciantes. Caso não vá oferecer um destes cursos qual recomendaria?
△ ▽ • Responder • Compartilhar ›

Acacio J Martins • 6 anos atrás


Bom dia. . Estou a tentar aprender SQL de forma autodidacta pois vou precisar de saber um pouco mais
para poder subir na carreira (que nada tem a haver com programação mas se tiver umas "luzes" sobre o
assunto, já ajuda).
Sim eu sei que SQL nao é linguagem de programação...e sei que a melhor forma de aprender qualquer
tipo de linguagem é praticar, praticar, praticar. Portanto...sabe onde se possa encontrar algo como um site
para praticar tudo isso? Com questoes praticas? É engraçado aprender e tal, mas depois sem ter local
para colocar em pratica tudo o que aprendeu...é mau.
Já agora...estou a pensar aprender Python também. Algumas dicas?

Obrigado
△ ▽ • Responder • Compartilhar ›

len > Acacio J Martins • 5 anos atrás


Fala aew de novo pessoal, seguinte vim aqui pelo comentário do Acacio J. M. e decidi ajudá-lo em
sua busca por websites de treinamento em "ambientes de SQL" TOTALMENTE ONLINE; estes
links sao algumas recomendaçoes minhas :

http://sqlfiddle.com

http://www.w3schools.com/sq...

http://www.sql-format.com

http://www.tutorialspoint.c...

Enfim, se vc deseja saber mais sobre websites de SQL para implementaçao online, busque "SQL
online" nop google e pronto ...

Bem, tenho q ir e espero ter ajudado.


△ ▽ • Responder • Compartilhar ›

Ricardo • 6 anos atrás


Os comandos DML e DDL podem ser utilizados mesmo tempo?
△ ▽ • Responder • Compartilhar ›

Gustavo Furtado > Ricardo • 6 anos atrás


Ricardo, não é muito comum, mas é possível sim. Um exemplo é quando se cria uma tabela a
partir de uma consulta: SELECT * INTO NOVA_TABELA FROM TABELA_EXISTENTE;
△ ▽ • Responder • Compartilhar ›

Jackson Ferreira • 6 anos atrás


Não sei se você vai me responder por ser um post feito a alguns anos atrás, mas envio minhas dúvidas
caso tenha disponibilidade para responder.

Bom, primeiramente parabéns Gustavo pelo post, tenho visto nos comentários que foi de grande ajuda
para muita gente, é bom ver um blog interativo que contribui ao próximo seja qual for o assunto ou
informação.

Gostaria de tirar algumas dúvidas sobre o sql referente a profissões. Como já dito por você anteriormente
sql não é uma linguagem de programação e sim de interação com o sgbd, queria saber se há algum
cargo que trabalhe especificamente com a linguagem sql com exceção do DBA que acredito que tenha
que ser um dos conhecimentos básicos, como um "analista sql" ou "analista de banco de dados" se esse
for realmente o trabalho de um analista. Um profissional que trabalhe com revisão da base de dados, ou
se isso é aplicado em grande escala por analistas de sistemas que além das linguagens de programação
se sso é ap cado e g a de esca a po a a stas de s ste as que a é das guage s de p og a ação
ainda utilizam o sql.

Se puder me falar os cargos que conhece da área de banco de dados e qual a função deles, em quais
sgbd investir, se em certificações ou em uma boa faculdade ficaria agradecido.
△ ▽ • Responder • Compartilhar ›

Gustavo Furtado > Jackson Ferreira • 6 anos atrás


Que eu saiba não há um cargo que trabalhe especificamente com SQL.
Eu penso que SQL é uma linguagem que pode ser usada por qualquer um que tenha interesse em
extrair informações de um banco de dados.

Um programador que se prese tem que saber SQL.


△ ▽ • Responder • Compartilhar ›

roberto rocha • 6 anos atrás


foi muito bom o conteudo
△ ▽ • Responder • Compartilhar ›

Doglas Junior • 6 anos atrás


Eu ainda nao entende essa chave primaria que e preciso colocar id.
Na primeira vez que eu criei e coloquei registros em uma tabela foi assim: create table pet(nome
varchar(20), dono varchar(20), especie varchar(20));
E para inserir era assim: insert into pet values('fluffy', 'João', 'gato') ;
Mas agora estou vendo que e necessario colocar id e referenciar as colunas tambem na instrucao de
insert.
Por favor tire minhas duvidas grato!
△ ▽ • Responder • Compartilhar ›

Uemerson Freire da Silva • 7 anos atrás


Muito boa explicação, simples e objetivo para quem ainda é leigo sobre banco de dados!!
△ ▽ • Responder • Compartilhar ›

luiz carlos • 7 anos atrás


Cara muito show, vc sabe tudo.
△ ▽ • Responder • Compartilhar ›

Tiago Macêdo • 7 anos atrás


A data dele é 26/04, 04 é ano ou mês
△ ▽ • Responder • Compartilhar ›

Gustavo Furtado > Tiago Macêdo • 7 anos atrás


Tiago, este post é de 26/04/2013
△ ▽ • Responder • Compartilhar ›

Tiago Macêdo • 7 anos atrás


Obrigado, o utilizei como referência em meu TCC. Gostei muito, e aprendi com esse site, não somente
bem organizado, instrutiva a forma de disposição das ideias bem subdividida
△ ▽ • Responder • Compartilhar ›

Gustavo Furtado > Tiago Macêdo • 7 anos atrás


Obrigado Tiago, que bom que consegui transmitir a mensagem pra você. Isso é o mais gratificante
pra mim.
△ ▽ • Responder • Compartilhar ›

mauro lucio • 7 anos atrás


ótimo blog, muito bom, obrigado pelas dicas.
△ ▽ • Responder • Compartilhar ›

Moacir Souza • 7 anos atrás


O comentário acima foi referente ao seu texto na parte que começa a falar sobre DTL. Falou!
△ ▽ • Responder • Compartilhar ›

Moacir Souza • 7 anos atrás


DTL – DATA TRANSACTION LANGUAGE
DTL (Linguagem de controle de transações) é o subconjunto da SQL
Correção: Linguage de Transação de Dados (DTL)
△ ▽ • Responder • Compartilhar ›

Len • 7 anos atrás


Saudações

Primeiramente, seu blog é ducara, ...

Segundo, algumas dúvdas:

* é possível editar SQL no Access ?

* pode existir uma versão para windows do "libreoffice base" disponivel para download, tipo 'avulso' do
conjunto do libreoffice ?

* existe alguma técnica de aprendizagem fácil de SQL, porque isso me lembra muito linguagem de
programação, que não é meu forte ...

Enfim, desde já grato por tudo e até próxima ...

Tchau Gustavo Furtado


△ ▽ • Responder • Compartilhar ›

Gustavo Furtado > Len • 7 anos atrás


Olá Len,
* É possível sim executar comando SQL no Access -> Basta criar uma consulta e selecionar o
modo SQL (a posição dos botões vai depender da versão do * Não tenho certeza, mas acho que
você pode selecionar quais softwares do LibreOffice instalar. Sim tem versão pra Windows.
* A melhor técnica de aprendizado é a prática, você só aprende SQL criando umas tabelas num
banco de dados, inserindo e alterando dados, consultando, etc... SQL não é linguagem de
programação. Há sim formas de implementar algoritmos com PLSQL por exemplo, mas SQL puro
é uma linguagem com comandos para gerenciar, consultar e manipular dados em um banco de
dados.

Um abraço!
△ ▽ • Responder • Compartilhar ›

len > Gustavo Furtado • 7 anos atrás


Vlw por tudo e até mais ...
△ ▽ • Responder • Compartilhar ›

Gabriel • 7 anos atrás


você pode me disser a data que foi publicado esse artigo? quero fazer uma citação em um TCC
△ ▽ • Responder • Compartilhar ›

Gustavo Furtado > Gabriel • 7 anos atrás


26 de abril de 2013
△ ▽ • Responder • Compartilhar ›

Liza • 8 anos atrás


Olá Gustavo!
Estou com uma dúvida, se puder po favor me esclareça.
utilizando os comandos dml, como posso inserir 3 linhas para cada tabela criada. Colocarei aqui o
exemplo de uma: (cod_prof integer(5) notnull,nome_prof vanchar(30) notnull,data de nascimento date,
cidade integer(5) notnull, primary key(cod professor);
desde já agradeço!
△ ▽ • Responder • Compartilhar ›
Gustavo Furtado > Liza • 8 anos atrás
Liza,

você precisa usar o comando insert.

É simples, veja um exemplo ...

Vou dar exemplo de uma tabela que seria criada da seguinte forma:

CREATE TABLE MUNICIPIO(


ID INTEGER,
NOME VARCHAR(100)
ESTADO CHAR(2)
);

Para inserir registros nessa tabela usamos o comando insert dessa maneira...

INSERT INTO MUNICIPIO(ID, NOME, ESTADO) VALUES(1, 'São Paulo', 'SP');


INSERT INTO MUNICIPIO(ID, NOME, ESTADO) VALUES(2, 'Rio de Janeiro', 'RJ');
INSERT INTO MUNICIPIO(ID, NOME, ESTADO) VALUES(3, 'Rio do Sul', 'SC');

Dúvidas?

PS.: A linguagem não é MySQL, e sim SQL (Structured Query Language), MySQL
é o Gerenciador de Banco de Dados (SGBD).
△ ▽ • Responder • Compartilhar ›

eltonfonseca • 8 anos atrás


Afinal sql é uma linguagem de programação?
△ ▽ • Responder • Compartilhar ›

Gustavo Furtado > eltonfonseca • 8 anos atrás


SQL não é uma linguagem de programação. É uma linguagem para interação com o banco de
dados através de um SGBD.
△ ▽ • Responder • Compartilhar ›

ANTONIEL • 8 anos atrás


Gustavo SQL é uma linguagem de programação? o Acess é um sgbd?
Se SQL for um programa como faço para adquirir?
△ ▽ • Responder • Compartilhar ›

Gustavo Furtado > ANTONIEL • 8 anos atrás


Antoniel, SQL não é uma linguagem de programação ... É uma linguagem para interação com o
SGBD, com SQL é possível fazer consultas, inserir e atualizar registros em uma tabela, etc ...

Quanto ao Access ser ou não um SGBD, há uma discussão muito grande sobre isso... como
você pode ver nesse forum do site da microsoft: http://social.msdn.microsof...

O access é um SGBD, pois gerencia uma base de dados, mesmo que modestamente.

Um abraço ...
△ ▽ • Responder • Compartilhar ›

Gustavo Furtado • 8 anos atrás


Olá Vivi, que bom que tá gostando ...
Alguns comandos sofrem uma pequena mudança entre SGBDs e no Oracle, esse comando para
adicionar uma coluna em uma tabela já existente, não tem a palavra COLUMN, então você pode usar
esse comando: ALTER TABLE CLIENTE ADD SEXO CHAR(1);

Corrigi no post também.

Muito obrigado pela validação do comando.


△ ▽ • Responder • Compartilhar ›
Vivi RC • 8 anos atrás
Olá Gustavo! Estou adorando as suas dicas e validando os comandos um a um (rs). Apenas um não
consegui executar e mesmo digitando continua apresentando o mesmo erro. Veja se pode me ajudar:

ALTER TABLE VENDEDORES ADD COLUMN SEXO CHAR (1)


Relatório de erro:
Erro de SQL: ORA-00904: : identificador inválido
00904. 00000 - "%s: invalid identifier"
*Cause:
*Action:
△ ▽ • Responder • Compartilhar ›

Isadora Parada • 3 anos atrás


Mesmo correndo o risco de perder os meus inscritos, resolvi dar uma força para o movimento #elenão.
Aprenda a linguagem SQL com as eleições.

Visite também o site: https://sites.google.com/vi...


#elenao #elenunca #sql #arcgis
△ ▽ 1 • Responder • Compartilhar ›

✉ Inscreva-se d Adicione o Disqus no seu siteAdicionar DisqusAdicionar ⚠ Do Not Sell My Data

{ Dicas de Programação } © 2018 - Contato - Sobre - by Gustavo Furtado

Você também pode gostar