Вы находитесь на странице: 1из 31

Embora se fale que a linguagem SQL uma linguagem de consulta, essa

linguagem possui outras capacidades alm de realizar consultas em um banco de


dados. A linguagem SQL possui recursos para definio da estrutura de dados,
para modificar dados no banco de dados e recursos para especificar restries de
segurana e integridade.
Data Manipulation Language (DML) (Linguagem de Manipulao de Dados).
A SQL DML inclui uma linguagem de consulta baseada na lgebra relacional e
no clculo relacional. Compreende tambm comandos para inserir, remover e
modificar informaes em um banco de dados. Os comandos bsicos da DML
so: INSERT, UPDATE, DELETE.

Data Definition Language (DDL) (Linguagem de Definio de Dados). A


SQL DDL fornece comandos para definio e modificao de esquemas de
relao, remoo de relaes e criao de ndices. Os principais comandos que
fazem parte da DDL so: CREATE, ALTER, DROP.

Data Control Language (DCL) (Linguagem de Controle de Dados). o


conjunto de comandos que fazem o cadastramento de usurios e determina seu
nvel de privilgio para os objetos do banco de dados. Os principais comandos
so: GRANT, REVOKE.

DQL - Linguagem de Consulta de Dados


Embora tenha apenas um comando, a DQL a parte da SQL mais utilizada. O
comando SELECT permite ao usurio especificar uma consulta ("query") como
uma descrio do resultado desejado. Esse comando composto de vrias
clusulas e opes, possibilitando elaborar consultas das mais simples s mais
elaboradas.
Clusulas
As clusulas so condies de modificao utilizadas para definir os dados que deseja
selecionar ou modificar em uma consulta.
FROM - Utilizada para especificar a tabela que se vai selecionar os registros.
WHERE Utilizada para especificar as condies que devem reunir os registros que
sero selecionados.
GROUP BY Utilizada para separar os registros selecionados em grupos especficos.
HAVING Utilizada para expressar a condio que deve satisfazer cada grupo.
ORDER BY Utilizada para ordenar os registros selecionados com uma ordem
especifica.

1- Executar o comando:
#mysql u root p
Onde: mysql executvel do SGBD
-u para especificar o nome do usurio
-p para inserir a senha

Ex.:

2- Utilizar o comando SHOW DATABASES; para listar as


bases de dados existentes.

3- Comeamos o sistema criando o banco de dados


locadora por meio do comando CREATE DATABASE. Logo
depois, passe a utilizar esse banco com o comando USE.

4- Crie a tabela de clientes utilizando o comando CREATE


TABLE. Repare nos tipos de dados: cdigo inteiro, nome
do tipo caractere (varchar), idade inteiro e endereo
outro varchar. Primary key indica o campo-chave.

5- Para listar as tabelas de uma base de dados, fazemos uso


do comando SHOW TABLES.

6- Para inserir dados em uma tabela utilizamos o comando


INSERT. Com o comando abaixo, inserimos alguns clientes
em nosso banco de dados. Note que a idade o nico valor
que no precisa de aspas. Observe tambm, que o campo
codigo no foi colocado, pois ele auto incremental.

7- Fazendo uma pesquisa na tabela utilizando o comando


SELECT. Ao selecionarmos a tabela, note que o cdigo
inseriu valores incrementados automaticamente. Isso se
deve ao fato de o campo possuir auto_increment em sua
criao.

7.1- Fazendo uma pesquisa na tabela mostrando apenas os


campos nome e idade.

7.2- Fazendo uma pesquisa na tabela mostrando apenas os


campos nome e idade, para os registros com os valores do
campo idade menores ou iguais a 27. Para esse tipo de
filtro utilizamos a clausula WHERE.

8- Defini-se a ordem na qual o sistema retornar os valores


por meio da propriedade ORDER BY [COLUNA]. Voc pode
usar ASC para crescente e DESC para decrescente. ASC
o valor padro.

9- Criemos, a segunda tabela chamada filmes: teremos


novamente o cod primary key auto_increment, titulo
varchar, classificacao uma lista ENUM com algumas
definies e a sinopse do tipo TEXT, para textos longos.

10- Veja o que acontece quando tentamos inserir um campo


diferente dos valores indicados em ENUM. A palavra
desenho no foi definida como parte de classificao.

Ex.:
Execute um SELECT para ver como os dados foram
inseridos.

10- Inserindo dados corretamente, respeitando o ENUM.

Ex.:
Execute um SELECT para ver como os dados foram
inseridos.

11- Deletando o primeiro registro onde o campo


classificacao ficou em branco:
Sintaxe:
DELETE FROM <tabela> WHERE <clausula>

Ex.:
Execute um SELECT para ver os dados aps a excluso.

12- O comando ALTER TABLE usado para adicionar, excluir


ou alterar atributos em uma relao existente. Para inserir um
novo atributo em uma tabela usada a clusula add
Sintaxe:
ALTER TABLE <tabela> ADD ( A1 D1, A2 D2, ... )

Ex.:
Faa um SELECT para ver as modificaes.

Para excluir colunas de uma tabela utiliza-se a clusula


DROP.
Sintaxe:
ALTER TABLE <tabela> DROP ( A1, A2, ... )

Ex.:
Faa um SELECT para ver as modificaes.

11- Crie a tabela alugueis conforme campos abaixo:


podemos observar que Cod_cliente e Cod_filme so do
mesmo tipo do campo codigo na tabela clientes e cod na
tabela filmes, respectivamente.

11.1- Inserindo valores na tabela alugueis, conforme


abaixo:
mysql> INSERT INTO alugueis (Cod_filme, Cod_cliente, dataAluguel, valor)
VALUES
-> (3, 2, NOW(), 5.5),
-> (1, 2, NOW(), 4.5),
-> (5, 3, NOW(), 3);
Query OK, 3 rows affected, 3 warnings (0.00 sec)
Records: 3 Duplicates: 0 Warnings:3

12- Fazendo SELECT em vrias tabelas ao mesmo tempo,


utilizando a clausula JOIN:

12.1- Fazendo o mesmo SELECT mas agora utilizando a


clausula WHERE:

13- Saberemos, atravs da clausula GROUP BY, quanto cada


cliente deve pagar. Note que somente a tabela alugueis foi
selecionada.

14- Especifica um critrio de pesquisa para um. HAVING


pode ser usado somente com a instruo SELECT. HAVING
usado normalmente em uma clusula GROUP BY, quando
isso no ocorre, o HAVING se comporta como uma clusula
WHERE.

1?- Fazendo SELECT nos usurios existentes no SGBD


Mysql (s o root tem esta permisso):

GRANT { { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER }


[,...] | ALL [ PRIVILEGES ] } ON [ TABLE ] nome_da_tabela [, ...] TO { nome_do_usurio |
GROUP nome_do_grupo | PUBLIC } [, ...] [ WITH GRANT OPTION ]

A palavra chave PUBLIC indica que os privilgios devem ser concedido


para todos os usurios, inclusive aos que vierem a ser criados
posteriormente.
Se for especificado WITH GRANT OPTION quem receber o privilgio
poder, por sua vez, conceder o privilgio a terceiros. Sem a opo de
concesso, quem recebe no pode conceder o privilgio.

REVOKE [GRANT OPTION FOR ] { SELECT | INSERT | UPDATE | DELETE | RULE |


REFERENCES | TRIGGER } [,...] | ALL [ PRIVILEGES ] } ON [ TABLE ] nome_da_tabela [,
...] FROM { nome_do_usurio | GROUP nome_do_grupo | PUBLIC } [, ...] [ CASCADE |
RESTRICT ]

Se for especificado GRANT OPTION FOR somente a opo de concesso do


privilgio revogada, e no o prprio privilgio. Caso contrrio, tanto o privilgio
quanto a opo de concesso sero revogados.
Se o usurio possui um privilgio com opo de concesso, e concedeu este
privilgio para outros usurios, ento os privilgios que estes outros usurios
possuem so chamados de privilgios dependentes. Se o privilgio ou a opo de
concesso que o primeiro usurio possui for revogada, e existirem privilgios
dependentes, estes privilgios dependentes tambm sero revogados se for
especificado CASCADE, seno a ao de revogar falhar.

1?- Criando um usurio para um DATABASE especfico


atravs do comando GRANT:

1?- Revogando permisses para um usurio especfico com


o comando REVOKE:

Вам также может понравиться