O que é SQL?

O SQL - Structured query Language (Linguagem de consulta estruturada), é conhecida comercialmente como uma linguagem de consultada padrão utilizada para manipular base de dados relacionais.

Porém, o SQL possui mais recursos além de consultas ao banco de dados, são eles:

Não se preocupe no momento com o que significam cada um deles pois trataremos de todos ao longo desse curso.

Data definition language

No contexto de SQL, é a sintaxe para criar e modificar objetos do banco de dados como tabelas, índices e usuários. As instruções DDL são semelhantes a uma linguagem de programação de computador para definir estruturas de dados, especialmente esquemas de banco de dados.

Alguns exemplos comuns de instruções DDL:

Muitas linguagens de descrição de dados usam uma sintaxe declarativa para definir colunas e tipos de dados. A linguagem SQL no entanto, usa uma coleção de verbos imperativos para modificar o esquema do banco de dados adicionando, alterando ou excluindo definições de tabelas ou outros elementos. Essas instruções podem ser misturadas livremente com outras instruções SQL, o que nao torna o DDL uma linguagem separada.

Comando CREATE

O comando create é utilizado para estabelecer um novo banco de dados, tabela etc.

CREATE DATABASE nome_do_banco;

Importante lembrar que para que os comandos SQL sejam executados é necessário o uso do ; ao final.

Ao criar um banco de dados podemos também utilizar um comando opcional chamado IF NOT EXISTS, que permite ao MySQL verificar se o nome escolhido já está sendo utilizado no servidor e evita que retorne um erro com a possível existencia de dois bancos com o mesmo nome.

CREATE DATABASE IF NOT EXISTS nome_do_banco;

Comando DROP

O comando drop destrói uma tabela, índice etc existentes no banco de dados.

DROP TABLE nome_da_tabela;

Comando ALTER

O comando alter altera um objeto existente no banco de dados.

ALTER TABLE clientes
ADD Email varchar(255);

Podemos utilizar o comando after para especificar a posição da coluna que desejamos acrescentar na tabela.

ALTER TABLE clientes
ADD telefone char(9) NOT NULL ALTER email;

Comando TRUNCATE

É usado para deletar todos os dados de uma tabela. Ele é mais rapido que o delete para tabelas grandes. Ele não necessita do comando commit que é utilizado para salvar um rollback que poderá reverter a operação. Já no TRUNCATE não há a criação dessa tabela e os dados serão deletados diretamente, por isso deve ser utilizado com cautela.

TRUNCATE TABLE clientes;

Visualizar tabelas de um servidor

Voce pode visualizar uma lista de todos os bancos de dados do servidor com o comando:

SHOW DATABASES;

Trabalhando com tabelas no MySQL

O primeiro passo é selecionar o banco de dados que será usado, precisaremos dessa informação para continuar aprendendo sobre a linguagem:

USE banco_de_dados;
CREATE TABLE contatos(
nome VARCHAR (50) NOT NULL,
telefone VARCHAR (25)
);

Data Query Language

O objetivo de armazenar dados em um banco é a possibilidade de reperar e utilizá-los em um relatório para análises mais profundas.

Comando SELECT

É utilizado para fazer consultas, selecionando os dados devemos dizer ao SGBD de onde queremos selecionar através do comando FROM

SELECT * FROM contatos;

O símbolo de * significa todos.

Para especificarmos ainda mais podemos utilizar o comando:

SELECT nome, sobrenome
FROM contatos
WHERE nome ='Bruno';

Comando DISTINCT

Ele é utilizado para selecionar todos os dados sem considerar suas repetições.

SELECT DISTINCT sobrenome FROM contatos;

Comando ALL

Ele é utilizado para selecionar todos os dados incluindo suas repetições.

SELECT ALL sobrenome FROM contatos;

Comando ORDER BY

Retorna os comandos em ordem ascendente(ASC) ou descendente(DESC), sendo o padrão ascendente.

SELECT name FROM contatos ORDER BY nome DESC;

Comando LIMIT

Utilizado para retornar o numero de linhas especificado. Se o valor inicial for informado, aquelas linhas são puladas antes do dado ser retornado. Lembrando que a primeira linha é o 0.

SELECT * FROM contatos LIMIT 3,1;

Podemos incrementar as consultas utilizando uma série de funções.

Data Manipulation Language

É o conjunto de comandos que nos fornecem a possibilidade de inserir, alterar, deletar e atualizar os registros de uma tabela.

Comando DELETE

É usado para deletar todos os registros de uma tabela. O que acontece é que o comando DELETE quando utilizado armazena os dados em uma tabela temporária e, quando o rollback é aplicado ele restaura esses dados.

DELETE FROM clientes;
commit;

Comando INSERT

É utilizado para inserir novos registros em uma tabela do banco de dados.

INSERT INTO funcionarios (id, nome, cargo) VALUES (1, 'Fernando', 'Analista de Sistemas');

Comando UPDATE

É utilizado para atualizar os registros que já foram armazenados no banco de dados. É comumente utilizado em conjunto com o comando WHERE que especifica o local da tabela que terá seus dados modificados.

UPDATE funcionarios SET cargo = 'Analista de Sistemas e Aplicações' WHERE id = 1;