Introdução a linguagem SQL

Neste artigo veremos uma introdução ao SQL, que é uma linguagem padrão para uso em banco de dados relacionais.

Fique por dentro
Aprenda neste artigo os conceitos iniciais da linguagem SQL, que te permitirão trabalhar com bancos de dados relacionais e sistemas que fazem acesso a eles.

SQL (Structured Query Language) é a linguagem padrão em sistemas de gerenciadores de bancos de dados relacionais. É por meio dela que criamos tabelas, colunas, índices, garantimos e removemos privilégios a usuários e, principalmente, consultamos os dados armazenados em tabelas.


Guia do artigo:

Trata-se de uma linguagem de consulta e de grande importância para desenvolvedores, pois é com ela que podemos nos comunicar com os bancos de dados utilizados pelas aplicações.

Como utilizar o SQL?

O primeiro passo para aprender SQL é entender que essa se trata de uma linguagem declarativa, com a qual nos preocupamos menos em como as coisas são feitas e nosso trabalho passa a ser informar o que queremos fazer combinando um conjunto de comandos disponibilizado por ela. Os comandos da linguagem SQL são divididos em conjuntos e essa separação é feita de acordo com o que cada comando faz. Comandos que fazem atividades similares são agrupados no mesmo conjunto.

Vejamos a seguir quais são esses conjuntos com exemplos que apresentam os seus comandos mais utilizados.

Outros conjuntos mais específicos são:

Dentre essas subdivisões da linguagem SQL, DDL e DML/DQL contém os comandos mais utilizados. Em DDL temos comandos que cuidam dos objetos que compõem um bancos de dados, tais como o próprio banco, as tabelas e os usuários, entre outros. Em DML estão agrupados os comandos para a manipulação dos dados. Vejamos a seguir mais algumas informações sobre esses conjuntos.

DDL

Agora veremos alguns comandos do grupo DDL com exemplos de códigos. Nesse momento não é necessário se preocupar em entender completamente cada comando, pois em próximos conteúdos abordaremos cada um deles em mais detalhes.

Os principais comandos agrupados em DDL são:

No Código 1, podemos ver o uso do comando CREATE TABLE.

CREATE TABLE Contato ( Id int, Nome varchar(255), Telefone varchar(11) );
Código 1. Criação de tabela

Acima, temos a criação de uma tabela no SQL. O comando CREATE TABLE cria uma tabela, que no nosso exemplo, terá o nome Contato. A estrutura interna da tabela é inserida dentro dos parênteses, onde vamos colocar as colunas com as suas propriedades. Nesse caso criamos três colunas, cada uma com um nome e com o seu tipo.

No curso de SQL, é explicado com mais detalhes a construção e estrutura das tabelas.

Além da criação de tabelas, podemos também excluí-las. E isso pode ser feito com o uso do comando DROP, que vemos no Código 2.

DROP TABLE Contato
Código 2. Exclusão de tabela

Com a execução do código acima, excluiremos a tabela Contato. O comando DROP TABLE serve para remover uma tabela existente de um banco de dados.

O comando DROP TABLE remove a tabela e todos os dados contidos nela, então deve ser usado com cautela.

Uma tabela também pode ter sua estrutura alterada. Isso é feito por meio do comando ALTER TABLE. No Código 3, temos um exemplo no qual adicionamos uma coluna à tabela Contato.

ALTER TABLE Contato Add email VARCHAR(255)
Código 3. Alteração de tabela

Mais um comando DDL é o comando TRUNCATE. Com ele, excluímos todos os registros de uma tabela, deixando-a do jeito como foi criada. No Código 4, temos o uso desse comando.

TRUNCATE TABLE Contato
Código 4. Remoção dos dados da tabela

DML/DQL

Os principais comandos agrupados em DML e DQL são:

Podemos inserir registros numa tabela por meio do comando INSERT. Nele, informamos as colunas que queremos inserir os dados, e os valores que queremos preencher nesses campos da tabela. No Código 5 vemos como fica o uso dessa instrução:

INSERT INTO Cliente(nome, telefone) VALUES ('Suzana', '99999-9999')
Código 5. Inserindo dados da tabela

Para a exclusão de registros temos o comando DELETE, que pode ser usado em junção com a cláusula WHERE. Caso essa condição não esteja presente, todos os dados da tabela serão apagados. Veja no Código 6

DELETE FROM Cliente WHERE id = 2 -- Excluirá apenas o registro com id igual a 2 DELETE FROM Cliente -- Excluirá todos os registros
Código 6. Deletando dados da tabela

Além de excluir dados, temos casos em que será necessário atualizar valores na tabela. E para isso temos o comando UPDATE que também pode ser usado com a cláusula WHERE. Da mesma forma como acontece com o comando DELETE, se a condição não for usada, todos os dados da tabela serão atualizados.

UPDATE Cliente SET telefone = '99999-9999' WHERE id = 3 -- Atualizará o telefone do cliente com id = 3 UPDATE Cliente SET telefone = '99999-9999' -- Atualizará o telefone de todos os cliente
Código 7. Atualizando dados da tabela

Abaixo temos o uso do comando SELECT, com o qual recuperamos informações de uma tabela. No Código 8 estamos recuperando as informações nome e telefone da tabela Cliente.

SELECT nome, telefone FROM Cliente
Código 8. Selecionando dados da tabela
Em algumas literaturas DQL é um subconjunto de DML. A partir daqui consideraremos dessa forma.

Com o comando SELECT podemos obter os dados das tabelas que serão selecionados de acordo com a consulta que estamos fazendo. Devemos indicar neste comando a tabela que queremos recuperar os dados, se há alguma condição para os registros serem recuperados, ou se queremos limitar a quantidade de linhas para ser retornada etc. No Código 9, vemos como isso acontece na prática.

SELECT nome, telefone FROM Cliente WHERE nome = 'Ramon'
Código 9. Delimitando a recuperação de dados

A instrução acima recupera dados de uma tabela com uma condição especificada. O termo SELECT é usado para informar qual o campo deve ser recuperado. Após ele, pode ser colocado um ou mais campos que se deseja obter. Em seguida temos o uso do termo FROM, com o qual indicamos de qual tabela os dados serão obtidos, tendo na sequência o nome da tabela em que faremos essa operação. Por fim, usamos o WHERE para definir uma condição para a obtenção dos dados, que no caso acima define que o campo nome seja igual a “Ramon”.

Um recurso que é usado com frequência é a junção de duas ou mais tabelas. E isso é feito por meio da instrução JOIN. No Código 10, temos um exemplo no qual pegamos dados de duas tabelas que pertencem a um registro específico. Nesse momento não se preocupe em entender a junção e todas as variações que ela pode ter, pois abordaremos o JOIN com mais detalhes em outro conteúdo:

SELECT c.nome, c.telefone, p.codigo, p.data_pedido FROM Cliente c JOIN Pedido p ON c.id = p.id_cliente WHERE c.id = 5
Código 10. Juntando dados de duas tabelas

Nessa consulta estamos obtendo os dados das tabelas Cliente e Pedido, que recebem os apelidos c e p respectivamente. Com esses apelidos acessamos os dados das colunas dessas tabelas. Por exemplo, c.nome é uma coluna da tabela Cliente, assim como p.codigo é uma coluna da tabela Pedido. Por meio do JOIN em conjunto com o ON, trazemos os dados que desejamos no SELECT, especificando qual a coluna que é comum entre as duas tabelas. Por fim, utilizamos o WHERE especificando que a busca deve ser restrita ao id da tabela Cliente.

Conclusão

Como vimos neste artigo, a linguagem SQL tem grande importância, pois com ela acessamos e manipulamos registros dentro um banco de dados. Armazenar e manipular informações de modo que elas possam ser usadas nas aplicações são habilidades relevantes para um programador. O uso da linguagem SQL ajuda na criação de diversas soluções, desde sistemas simples até os mais complexos.

Confira também

Artigos relacionados