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:
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.
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;
O comando drop destrói uma tabela, índice etc existentes no banco de dados.
DROP TABLE nome_da_tabela;
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;
É 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;
Voce pode visualizar uma lista de todos os bancos de dados do servidor com o comando:
SHOW DATABASES;
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)
);
O objetivo de armazenar dados em um banco é a possibilidade de reperar e utilizá-los em um relatório para análises mais profundas.
É 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';
Ele é utilizado para selecionar todos os dados sem considerar suas repetições.
SELECT DISTINCT sobrenome FROM contatos;
Ele é utilizado para selecionar todos os dados incluindo suas repetições.
SELECT ALL sobrenome FROM contatos;
Retorna os comandos em ordem ascendente(ASC) ou descendente(DESC), sendo o padrão ascendente.
SELECT name FROM contatos ORDER BY nome DESC;
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.
É o conjunto de comandos que nos fornecem a possibilidade de inserir, alterar, deletar e atualizar os registros de uma tabela.
É 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;
É utilizado para inserir novos registros em uma tabela do banco de dados.
INSERT INTO funcionarios (id, nome, cargo) VALUES (1, 'Fernando', 'Analista de Sistemas');
É 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;