ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
Bd03 banco de dados - my sql - exercicio av1
1. Banco de Dados (MySQL)
Correção AV1
prof.silvano.oliveira@gmail.com
2. Exercício AV1 - T1
Crie no MySQL o Banco de Dados:
TRANSPORTE
Dentro do mesmo crie a tabela VEICULO,
conforme a estrutura ao lado.
Banco de Dados (Prof Silvano) 2
3. CREATE DATABASE TRANSPORTE;
USE TRANSPORTE;
CREATE TABLE VEICULO (
ID INT(3) NOT NULL AUTO_INCREMENT,
PLACA VARCHAR(7) NOT NULL,
MODELO VARCHAR(20) NOT NULL,
FABRICANTE VARCHAR(20) NOT NULL,
ANO INT(4),
VALOR FLOAT,
PRIMARY KEY (ID)
);
Banco de Dados (Prof Silvano) 3
4. Insira os seguintes dados na tabela VEICULO
id placa modelo fabricante ano valor
1 HHH9999 GOL VW 1999 4000
2 PPP0909 CHEVY GM 1980 5500.4
3 HOW3531 PRISMA GM 2010 10002
4 PST1059 FIT HONDA 2016 69346
5 NNI2233 CIVIC HONDA 2017 112045
6 HWW0091 GOLF VW 2019 99000
7 PWT4627 CLIO RENAULT 2009 19020
Banco de Dados (Prof Silvano) 4
7. Liste o fabricante, modelo e ano dos veículos
fabricados a partir do ano 2000.
select fabricante, modelo, ano from veiculo
where ano>=2000;
+------------+--------+------+
| fabricante | modelo | ano |
+------------+--------+------+
| GM | PRISMA | 2010 |
| HONDA | FIT | 2016 |
| HONDA | CIVIC | 2017 |
| VW | GOLF | 2019 |
| RENAULT | CLIO | 2009 |
+------------+--------+------+
Banco de Dados (Prof Silvano) 7
8. Liste todos os carros em ordem crescente de preço.
select * from veiculo order by valor asc;
+----+---------+--------+------------+------+--------+
| id | placa | modelo | fabricante | ano | valor |
+----+---------+--------+------------+------+--------+
| 1 | HHH9999 | GOL | VW | 1999 | 4000 |
| 2 | PPP0909 | CHEVY | GM | 1980 | 5500.4 |
| 3 | HOW3531 | PRISMA | GM | 2010 | 10002 |
| 7 | PWT4627 | CLIO | RENAULT | 2009 | 19020 |
| 4 | PST1059 | FIT | HONDA | 2016 | 69346 |
| 6 | HWW0091 | GOLF | VW | 2019 | 99000 |
| 5 | NNI2233 | CIVIC | HONDA | 2017 | 112046 |
+----+---------+--------+------------+------+--------+
Banco de Dados (Prof Silvano) 8
9. Liste todos os carros que começam pela letra G.
select * from veiculo where modelo like “g%”;
+----+---------+--------+------------+------+-------+
| id | placa | modelo | fabricante | ano | valor |
+----+---------+--------+------------+------+-------+
| 1 | HHH9999 | GOL | VW | 1999 | 4000 |
| 6 | HWW0091 | GOLF | VW | 2019 | 99000 |
+----+---------+--------+------------+------+-------+
Banco de Dados (Prof Silvano) 9
10. Liste somente os 2 primeiros carros que possuam a
letra H na placa.
select * from veiculo where placa like “%h%” limit 2;
+----+---------+--------+------------+------+-------+
| id | placa | modelo | fabricante | ano | valor |
+----+---------+--------+------------+------+-------+
| 1 | HHH9999 | GOL | VW | 1999 | 4000 |
| 3 | HOW3531 | PRISMA | GM | 2010 | 10002 |
+----+---------+--------+------------+------+-------+
Banco de Dados (Prof Silvano) 10
11. Liste os carros da HONDA iniciando pelo mais novo
select * from veiculo where fabricante=‘honda’
order by ano desc;
+----+---------+--------+------------+------+--------+
| id | placa | modelo | fabricante | ano | valor |
+----+---------+--------+------------+------+--------+
| 5 | NNI2233 | CIVIC | HONDA | 2017 | 112046 |
| 4 | PST1059 | FIT | HONDA | 2016 | 69346 |
+----+---------+--------+------------+------+--------+
Banco de Dados (Prof Silvano) 11
12. Mude o ano do GOL para 1998.
update veiculo set ano=1998 where modelo ='gol';
select * from veiculo;
+----+---------+--------+------------+------+--------+
| id | placa | modelo | fabricante | ano | valor |
+----+---------+--------+------------+------+--------+
| 1 | HHH9999 | GOL | VW | 1998 | 4000 |
| 2 | PPP0909 | CHEVY | GM | 1980 | 5500.4 |
| 3 | HOW3531 | PRISMA | GM | 2010 | 10002 |
| 4 | PST1059 | FIT | HONDA | 2016 | 69346 |
| 5 | NNI2233 | CIVIC | HONDA | 2017 | 112046 |
| 6 | HWW0091 | GOLF | VW | 2019 | 99000 |
| 7 | PWT4627 | CLIO | RENAULT | 2009 | 19020 |
+----+---------+--------+------------+------+--------+
Banco de Dados (Prof Silvano) 12
13. Insira um novo campo à tabela VEICULO, com as seguintes características:
COMBUSTIVEL: Varchar(21)
alter table veiculo add combustivel varchar(21);
describe veiculo;
+-------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+----------------+
| id | int(3) | NO | PRI | NULL | auto_increment |
| placa | varchar(7) | NO | | NULL | |
| modelo | varchar(20) | NO | | NULL | |
| fabricante | varchar(20) | NO | | NULL | |
| ano | int(4) | YES | | NULL | |
| valor | float | YES | | NULL | |
| combustivel | varchar(21) | YES | | NULL | |
+-------------+-------------+------+-----+---------+----------------+
Banco de Dados (Prof Silvano) 13
14. Mude o conteúdo desse novo campo COMBUSTIVEL para ALCOOL,
de todos os carros que possuírem o ano antes de 2001. E coloque
GASOLINA para todos os demais.
update veiculo set combustivel='ALCOOL' where ano < 2001;
select * from veiculo;
+----+---------+--------+------------+------+--------+-------------+
| id | placa | modelo | fabricante | ano | valor | combustivel |
+----+---------+--------+------------+------+--------+-------------+
| 1 | HHH9999 | GOL | VW | 1998 | 4000 | ALCOOL |
| 2 | PPP0909 | CHEVY | GM | 1980 | 5500.4 | ALCOOL |
| 3 | HOW3531 | PRISMA | GM | 2010 | 10002 | NULL |
| 4 | PST1059 | FIT | HONDA | 2016 | 69346 | NULL |
| 5 | NNI2233 | CIVIC | HONDA | 2017 | 112046 | NULL |
| 6 | HWW0091 | GOLF | VW | 2019 | 99000 | NULL |
| 7 | PWT4627 | CLIO | RENAULT | 2009 | 19020 | NULL |
+----+---------+--------+------------+------+--------+-------------+
Banco de Dados (Prof Silvano) 14
16. Exclua os registros que a placa inicie com PP.
DELETE FROM VEICULO WHERE PLACA LIKE 'PP%';
select * from veiculo;
+----+---------+--------+------------+------+--------+-------------+
| id | placa | modelo | fabricante | ano | valor | combustivel |
+----+---------+--------+------------+------+--------+-------------+
| 1 | HHH9999 | GOL | VW | 1998 | 4000 | ALCOOL |
| 3 | HOW3531 | PRISMA | GM | 2010 | 10002 | GASOLINA |
| 4 | PST1059 | FIT | HONDA | 2016 | 69346 | GASOLINA |
| 5 | NNI2233 | CIVIC | HONDA | 2017 | 112046 | GASOLINA |
| 6 | HWW0091 | GOLF | VW | 2019 | 99000 | GASOLINA |
| 7 | PWT4627 | CLIO | RENAULT | 2009 | 19020 | GASOLINA |
+----+---------+--------+------------+------+--------+-------------+
Banco de Dados (Prof Silvano) 16
17. Exercício AV1 – T2
Crie no MySQL o Banco de Dados: ESCOLA
Dentro do mesmo crie a tabela ALUNO,
conforme a estrutura ao lado.
Banco de Dados (Prof Silvano) 17
18. CREATE DATABASE ESCOLA;
USE ESCOLA;
CREATE TABLE ALUNO (
ID INT(3) NOT NULL AUTO_INCREMENT,
NOME VARCHAR(25) NOT NULL,
BAIRRO VARCHAR(20) NOT NULL,
CURSO VARCHAR(20) NOT NULL,
SERIE INT(2),
MEDIA FLOAT,
PRIMARY KEY (ID)
);
Banco de Dados (Prof Silvano) 18
19. Insira os seguintes dados na tabela
+----+----------+----------+-------------+-------+-------+
| id | nome | bairro | curso | serie | media |
+----+----------+----------+-------------+-------+-------+
| 1 | FULANO | COHAMA | BIOLOGIA | 1 | 8.5 |
| 2 | BELTRANO | COHAB | MATEMATICA | 2 | 7 |
| 3 | CICRANO | ANIL | FISICA | 2 | 9 |
| 4 | JOHN | CENTRO | INFORMATICA | 2 | 10 |
| 5 | JOSEFINA | TURU | MATEMATICA | 1 | 6.9 |
| 6 | CARLOS | COHAB | QUIMICA | 3 | 4.5 |
| 7 | ALBERTO | COHATRAC | FISICA | 2 | 2 |
+----+----------+----------+-------------+-------+-------+
Banco de Dados (Prof Silvano) 19
21. Liste todos os alunos.
SELECT * FROM ALUNO;
+----+----------+----------+-------------+-------+-------+
| id | nome | bairro | curso | serie | media |
+----+----------+----------+-------------+-------+-------+
| 1 | FULANO | COHAMA | BIOLOGIA | 1 | 8.5 |
| 2 | BELTRANO | COHAB | MATEMATICA | 2 | 7 |
| 3 | CICRANO | ANIL | FISICA | 2 | 9 |
| 4 | JOHN | CENTRO | INFORMATICA | 2 | 10 |
| 5 | JOSEFINA | TURU | MATEMATICA | 1 | 6.9 |
| 6 | CARLOS | COHAB | QUIMICA | 3 | 4.5 |
| 7 | ALBERTO | COHATRAC | FISICA | 2 | 2 |
+----+----------+----------+-------------+-------+-------+
Banco de Dados (Prof Silvano) 21
22. Liste o curso, bairro e serie dos alunos com média
superior a 7,0 inclusive.
select curso, bairro, serie from aluno
where media>=7;
+-------------+--------+-------+
| curso | bairro | serie |
+-------------+--------+-------+
| BIOLOGIA | COHAMA | 1 |
| MATEMATICA | COHAB | 2 |
| FISICA | ANIL | 2 |
| INFORMATICA | CENTRO | 2 |
+-------------+--------+-------+
Banco de Dados (Prof Silvano) 22
23. Liste todos os alunos em ordem decrescente de média.
select * from aluno order by media desc;
+----+----------+----------+-------------+-------+-------+
| id | nome | bairro | curso | serie | media |
+----+----------+----------+-------------+-------+-------+
| 4 | JOHN | CENTRO | INFORMATICA | 2 | 10 |
| 3 | CICRANO | ANIL | FISICA | 2 | 9 |
| 1 | FULANO | COHAMA | BIOLOGIA | 1 | 8.5 |
| 2 | BELTRANO | COHAB | MATEMATICA | 2 | 7 |
| 5 | JOSEFINA | TURU | MATEMATICA | 1 | 6.9 |
| 6 | CARLOS | COHAB | QUIMICA | 3 | 4.5 |
| 7 | ALBERTO | COHATRAC | FISICA | 2 | 2 |
+----+----------+----------+-------------+-------+-------+
Banco de Dados (Prof Silvano) 23
24. Liste todos os alunos que começam pela letra J.
select * from aluno where nome like 'j%’;
+----+----------+--------+-------------+-------+-------+
| id | nome | bairro | curso | serie | media |
+----+----------+--------+-------------+-------+-------+
| 4 | JOHN | CENTRO | INFORMATICA | 2 | 10 |
| 5 | JOSEFINA | TURU | MATEMATICA | 1 | 6.9 |
+----+----------+--------+-------------+-------+-------+
Banco de Dados (Prof Silvano) 24
25. Liste somente os 2 primeiros alunos que possuam a
letra H no bairro.
select * from aluno where bairro
like '%h%' limit 2;
+----+----------+--------+------------+-------+-------+
| id | nome | bairro | curso | serie | media |
+----+----------+--------+------------+-------+-------+
| 1 | FULANO | COHAMA | BIOLOGIA | 1 | 8.5 |
| 2 | BELTRANO | COHAB | MATEMATICA | 2 | 7 |
+----+----------+--------+------------+-------+-------+
Banco de Dados (Prof Silvano) 25
26. Liste os alunos da 1ª serie iniciando pelo que tiver
menor média
select * from aluno
where serie = 1 order by media asc;
+----+----------+--------+------------+-------+-------+
| id | nome | bairro | curso | serie | media |
+----+----------+--------+------------+-------+-------+
| 5 | JOSEFINA | TURU | MATEMATICA | 1 | 6.9 |
| 1 | FULANO | COHAMA | BIOLOGIA | 1 | 8.5 |
+----+----------+--------+------------+-------+-------+
Banco de Dados (Prof Silvano) 26
27. Mude a serie do JOHN para 3.
update aluno set serie = 3 where nome = 'john';
select * from aluno;
+----+----------+----------+-------------+-------+-------+
| id | nome | bairro | curso | serie | media |
+----+----------+----------+-------------+-------+-------+
| 1 | FULANO | COHAMA | BIOLOGIA | 1 | 8.5 |
| 2 | BELTRANO | COHAB | MATEMATICA | 2 | 7 |
| 3 | CICRANO | ANIL | FISICA | 2 | 9 |
| 4 | JOHN | CENTRO | INFORMATICA | 3 | 10 |
| 5 | JOSEFINA | TURU | MATEMATICA | 1 | 6.9 |
| 6 | CARLOS | COHAB | QUIMICA | 3 | 4.5 |
| 7 | ALBERTO | COHATRAC | FISICA | 2 | 2 |
+----+----------+----------+-------------+-------+-------+
Banco de Dados (Prof Silvano) 27
28. Insira um novo campo à tabela ALUNO, com as seguintes características:
STATUS: Varchar(15)
alter table aluno add status varchar(15) not null;
describe aluno;
+--------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+----------------+
| id | int(3) | NO | PRI | NULL | auto_increment |
| nome | varchar(25) | NO | | NULL | |
| bairro | varchar(20) | NO | | NULL | |
| curso | varchar(20) | NO | | NULL | |
| serie | int(2) | NO | | NULL | |
| media | float | NO | | NULL | |
| status | varchar(15) | NO | | NULL | |
+--------+-------------+------+-----+---------+----------------+
Banco de Dados (Prof Silvano) 28
29. Mude o conteúdo desse novo campo STATUS para REPROVADO, de
todos os alunos que possuírem a média inferior a 7,0. E coloque
APROVADO para todos os demais.
update aluno set status='REPROVADO' where media < 7;
select * from aluno;
+----+----------+----------+-------------+-------+-------+-----------+
| id | nome | bairro | curso | serie | media | status |
+----+----------+----------+-------------+-------+-------+-----------+
| 1 | FULANO | COHAMA | BIOLOGIA | 1 | 8.5 | |
| 2 | BELTRANO | COHAB | MATEMATICA | 2 | 7 | |
| 3 | CICRANO | ANIL | FISICA | 2 | 9 | |
| 4 | JOHN | CENTRO | INFORMATICA | 3 | 10 | |
| 5 | JOSEFINA | TURU | MATEMATICA | 1 | 6.9 | REPROVADO |
| 6 | CARLOS | COHAB | QUIMICA | 3 | 4.5 | REPROVADO |
| 7 | ALBERTO | COHATRAC | FISICA | 2 | 2 | REPROVADO |
+----+----------+----------+-------------+-------+-------+-----------+
Banco de Dados (Prof Silvano) 29
30. 2ª PARTE
update aluno set status='APROVADO' where media >= 7;
select * from aluno;
+----+----------+----------+-------------+-------+-------+-----------+
| id | nome | bairro | curso | serie | media | status |
+----+----------+----------+-------------+-------+-------+-----------+
| 1 | FULANO | COHAMA | BIOLOGIA | 1 | 8.5 | APROVADO |
| 2 | BELTRANO | COHAB | MATEMATICA | 2 | 7 | APROVADO |
| 3 | CICRANO | ANIL | FISICA | 2 | 9 | APROVADO |
| 4 | JOHN | CENTRO | INFORMATICA | 3 | 10 | APROVADO |
| 5 | JOSEFINA | TURU | MATEMATICA | 1 | 6.9 | REPROVADO |
| 6 | CARLOS | COHAB | QUIMICA | 3 | 4.5 | REPROVADO |
| 7 | ALBERTO | COHATRAC | FISICA | 2 | 2 | REPROVADO |
+----+----------+----------+-------------+-------+-------+-----------+
Banco de Dados (Prof Silvano) 30
31. Exclua os registros que o curso inicie com FI.
DELETE FROM ALUNO WHERE CURSO LIKE 'FI%';
select * from aluno;
+----+----------+--------+-------------+-------+-------+-----------+
| id | nome | bairro | curso | serie | media | status |
+----+----------+--------+-------------+-------+-------+-----------+
| 1 | FULANO | COHAMA | BIOLOGIA | 1 | 8.5 | APROVADO |
| 2 | BELTRANO | COHAB | MATEMATICA | 2 | 7 | APROVADO |
| 4 | JOHN | CENTRO | INFORMATICA | 3 | 10 | APROVADO |
| 5 | JOSEFINA | TURU | MATEMATICA | 1 | 6.9 | REPROVADO |
| 6 | CARLOS | COHAB | QUIMICA | 3 | 4.5 | REPROVADO |
+----+----------+--------+-------------+-------+-------+-----------+
Banco de Dados (Prof Silvano) 31