DQL - Data Query Language
DQL é a sigla para Data Query Language. É uma linguagem de consulta de dados que permite aos usuários recuperar dados de um banco de dados. O DQL é usado para consultar os dados armazenados em um banco de dados, como recuperar informações específicas de uma tabela ou visualização. O DQL é uma parte importante do projeto físico do banco de dados, pois permite recuperar os dados armazenados no banco de dados.
Consulta ao banco de dados
1. Listar todos os mundos
SELECT * FROM Mundo;
2. Listar todas as regiões e seus respectivos mundos
SELECT Regiao.nome AS regiao, Mundo.nome AS mundo
FROM Regiao
JOIN Mundo ON Regiao.id_mundo = Mundo.id_mundo;
3. Detalhes de um personagem específico
SELECT *
FROM Personagem
WHERE id_personagem = %s;
4. Selecionar jogadores registrados:
SELECT nome FROM Personagem;
5. Selecionar Missão do jogador:
SELECT nome FROM Missao WHERE id_missao = %s;
6. Consultar Vida do jogador:
SELECT vida FROM Personagem WHERE id = %s;
7. Consultar salas conectadas a partir do personagem:
SELECT id_sala_destino, direcao, descricao_conexao
FROM Conexao
WHERE id_sala_origem = (
SELECT id_sala
FROM PC
WHERE id_personagem = %s
);
8. Quantidade de Inimigos na sala
SELECT COUNT(Instancia_inimigo.id_instancia)
FROM Instancia_inimigo
WHERE id_sala = (
SELECT id_sala
FROM Personagem
WHERE id_pc = %s
);
9. Atualizar o resultado do combate
UPDATE Combate SET resultado = "venceu" WHERE id_combate = %s;
10. Consultar o total gasto em transações de venda
SELECT SUM(Valor) FROM Transacao WHERE tipo = 'venda'
11. Atualizar status de combate do chefe
UPDATE Chefe SET combat_status = "confuso" WHERE id_personagem = %s
OBS: Todos os status do chefe ou inimigo terá como base esse script, tal que será setado a depender da ação do personagem UPDATE Chefe SET "Atributo a ser atualizado" WHERE id_personagem = %s, por exemplo: O personagem reliza um ataque que diminui em 10 de HP do chefe, então o script de update seria dessa forma: UPDATE Chefe SET hp = "Novo valor de vida" WHERE id_personagem = %s
12. Listar todos os itens do inventário do personagem
SELECT Instancia_item from inventario WHERE id_inventario = (SELECT id_personagem FROM PC WHERE id = %s)
13. Listar todos os itens de um bau
SELECT itens from Bau WHERE id_bau = %s
14. Listar missões pendentes do personagem
SELECT PC.nome AS personagem, MissaoPrincipal.nome AS missao_dependente
FROM MissaoPrincipal
LEFT JOIN MissoesRealizadas ON MissaoPrincipal.id_missao = MissoesRealizadas.id_missao
JOIN PC ON PC.id_personagem = MissoesRealizadas.id_pc
WHERE MissoesRealizadas.id_missao IS NULL;
15. Missões que trazem mais recompensas
SELECT Missao.nome, Missao.qnt_xp, Missao.descricao
FROM Missao
ORDER BY Missao.qnt_xp DESC
LIMIT 5;
Histórico de Versão
Versão | Data | Descrição | Autor(es) |
---|---|---|---|
1.0 |
23/12/2024 | Primeira versão do DQL | Márcio Henrique |
1.1 |
23/12/2024 | Acresentando consultas | Márcio Henrique |
1.2 |
12/01/2025 | Acresentando consultas | Márcio Henrique |
1.3 |
01/02/2025 | Acresentando consultas | Diego Carlito |