A Linguagem SQL (Structured Query Language) é uma linguagem de banco de dados que permite acessar banco de dados.
Essa linguagem é usada para acessar os principais banco de dados existentes hoje como o SQL Server Microsoft ou banco de dados Oracle, logicamente que a sintaxe entre esses dois bancos pode ter algumas diferenças, porém os comandos básicos são praticamente os mesmos.
Na linguagem SQL são executadas 5 tipos de operações:
Instruções de consulta, Instruções DML, Instruções DDL, Instruções TC e Instruções DCL. Abaixo veremos a explicação e cada uma.
Instruções de consulta
As instruções de consulta são comandos que selecionam os dados de uma tabela. O comando mais comum é o SELECT.
- Ex: SELECT nome FROM tabela_usuarios
Explicando
- SELECT – Instrução de consulta
- nome – Nome da coluna (atributo) que será consultada
- FROM – Indica a tabela
- tabela_usuarios – Nome da tabela (entidade) que a consulta será realizada
Instruções DML (Data Manipulation Language)
Linguagem de Manipulação de Dados – São comandos que modificam o conteúdo das tabelas. Os comandos mais comuns são INSERT, UPDATE e DELETE.
INSERT – Insere linhas de dados em uma uma coluna. Veja exemplo de utilização:
- INSERT INTO clientes VALUES (1,’Jose’,30, ‘(11)5555-5555’)
Explicação (banco MYSQL)
- INSERT INTO – Comando para inserir os dados
- clientes – nome da tabela
- VALUES – Valores que serão inseridos
- 1,’Jose’,30, ‘(11)5555-5555’ – Digamos que na tabela clientes contenha as seguintes colunas: codigo, nome, idade, telefone. Os dados (1,’Jose’,30, ‘(11)5555-5555’) correspondes aos dados de cada coluna.
UPDATE – Atualiza os dados de uma tabela. Veja exemplo de utilização:
- UPDATE paciente SET nome=’João’ WHERE codigo=1 AND idade=30
Explicação (banco MYSQL)
Atualize (UPDATE) o campo nome para (SET) João quando (WHERE) o código for igual a 1 e (AND) a idade for igual a 30
- UPDATE – Comando para atualizar os dados
- SET – o que será alterado
- WHERE – condição
- AND – acrescenta outras condições
Note que o nome Jose foi alterado para João.
DELETE – Exclui dados de uma tabela. Veja exemplo de utilização:
- DELETE FROM paciente WHERE nome=’João’
Explicação (banco MYSQL)
- DELETE – comando para deletar
- FROM – em, indica a tabela
- WHERE – condição que indica o que será excluído
Note que em DELETE você ainda pode usar o AND caso deseja acrescentar mais condições.
Instruções DDL (Data Definition Language)
Linguagem de Definição de Dados, define a estrutura dos dados e tabelas. Os comandos DDL mais comuns são CREATE, ALTER, DROP, RENAME e TRUNCATE.
CREATE – Comando utilizado para criar um BANCO (CREATE DB) e uma TABELA (CREATE TABLE).
CREATE DB – Cria um banco de dados. Veja um exemplo de utilização:
- CREATE DATABASE database_name
CREATE TABLE – Cria uma tabela. Veja um exemplo de utilização:
CREATE TABLE medico
(
codigo INT,
nome VARCHAR(255),
idade INT,
crm VARCHAR(80),primary key codigo,
)
Explicação
- CREATE TABLE é o comando de criação
- medico – o nome que você deseja dar a tabela
- codigo, nome, idade, crm – são as colunas que você inserir nessa tabela
- primary key – define qual será a chave primária
OBS: após o nome das colunas, você pode definir os parâmetros de cada coluna, por exemplo, tipo de dados, tamanho, se obrigatório.
ALTER TABLE – Comando usado para adicionar, excluir ou modificar as colunas de uma tabela existente.
Adiciona coluna
- ALTER TABLE table_name ADD column_name datatype
- Exemplo utilização: ALTER TABLE medico ADD endereco VARCHAR(80)
Exclui uma coluna
- ALTER TABLE table_name DROP COLUMN column_name
- Exemplo utilização: ALTER TABLE medico DROP endereco
DROP – Comando utilizado para excluir dados. O DROP pode ser utilizado de três formas:
- DROP INDEX – Exluir um indice em uma tabela
- Exemplo de utilização: ALTER TABLE table_name DROP INDEX index_name
- DROP TABLE – Excluir uma tabela
- Exemplo de utilização: DROP TABLE table_name
- DROP DATABASE – Excluir um banco de dados
- Exemplo de utilização: DROP DATABASE database_name
RENAME – Comando utilizado para renomear tabelas. Veja abaixo exemplo de utilização:
- RENATE TABLE medico TO medicos
TRUNCATE – Comando para excluir os dados de uma tabela, e não a tabela em si. Veja exemplo de utilização:
- TRUNCATE TABLE medicos
Instruções TC (Transaction Control)
Nos Controle de Transações temos três comandos: COMMIT ROLLBACK, SAVEPOINT. Abaixe veremos o que esse comandos fazem.
COMMIT – Esse comando serve para confirmar uma ação dentro de uma banco de dados, por exemplo:
Digamos que você pediu para excluir dados dentro do banco de dados
- DELETE FROM paciente WHERE nome=’João’
Assim que for confirmada a exclusão, podemos usar o comando COMMIT que confirma essa exclusão. Mas tenha cuidado, o uso do COMMIT é irreversível. Esse comando é útil quando trabalhamos com vários usuário e temos um controle de seção, usando COMMIT é como se você estivesse forçando a sua ação para que seja visível para todos no banco.
SAVEPOINT – Esse comando tem uma função parecida com a função “Ponto de Restauração” do Windows. Com ele você pode criar um ponto de referência e caso você queira desfazer uma ação com ROLLBACK, a ação retorna a té o SAVEPOINT criado.
ROLLBACK – Esse comando é utilizado para desfazer as alteração até um ponto de restauração definido por SAVEPOINT.
Instruções DCL (Data Control Language)
Linguagem de Controle de Dados alteram as permissões no banco de dados. Veja exemplos de utilização:
SQL GRANT é um comando usado para fornecer acesso ou privilégios sobre os objetos de banco de dados para os usuários.
GRANT privilege_name
ON object_name
TO {user_name |PUBLIC |role_name}
[WITH GRANT OPTION];
O comando REVOKE remove direitos de acesso do usuário ou privilégios para os objetos de banco de dados.
REVOKE privilege_name
ON object_name
FROM {user_name |PUBLIC |role_name}