Introdução
Neste projeto, você aprenderá como criar um procedimento armazenado (stored procedure) em MySQL para recuperar cursos com créditos maiores que 3. Este projeto o ajudará a entender os fundamentos de como trabalhar com procedimentos armazenados em um sistema de gerenciamento de banco de dados.
👀 Visualização
MariaDB [edusys]> CALL getCourses();
+-----------+----------------------------+------------+---------+
| course_id | title | dept_name | credits |
+-----------+----------------------------+------------+---------+
| BIO-101 | Intro. to Biology | Biology | 4 |
| BIO-301 | Genetics | Biology | 4 |
| CS-101 | Intro. to Computer Science | Comp. Sci. | 4 |
| CS-190 | Game Design | Comp. Sci. | 4 |
| PHY-101 | Physical Principles | Physics | 4 |
+-----------+----------------------------+------------+---------+
5 rows in set (0.000 sec)
🎯 Tarefas
Neste projeto, você aprenderá:
- Como acessar o MySQL usando o comando
sudosem uma senha - Como importar dados para o banco de dados MySQL
- Como criar um procedimento armazenado para recuperar dados específicos de uma tabela
- Como testar o procedimento armazenado para garantir que ele está funcionando conforme o esperado
🏆 Conquistas
Após concluir este projeto, você será capaz de:
- Entender o propósito e os benefícios de usar procedimentos armazenados em um banco de dados
- Criar seus próprios procedimentos armazenados para realizar tarefas específicas de recuperação de dados
- Solucionar problemas e testar procedimentos armazenados para garantir que eles estão funcionando corretamente
- Aplicar o conhecimento adquirido neste projeto para construir aplicações mais complexas baseadas em banco de dados
Acessar o MySQL e Importar o Banco de Dados
Nesta etapa, você aprenderá como acessar o MySQL usando o comando sudo sem nenhuma senha e importar os dados de /home/labex/project/edusys.sql para o MySQL.
- Inicie o serviço MySQL:
sudo service mysql start
- Acesse o MySQL usando o comando
sudo:
sudo mysql
- Importe os dados de
/home/labex/project/edusys.sqlpara o MySQL e mude para o banco de dadosedusys:
MariaDB [None]> SOURCE /home/labex/project/edusys.sql;
Criar o Procedimento Armazenado getCourses
Nesta etapa, você criará um procedimento armazenado chamado getCourses que recupera cursos da tabela course onde o valor do campo credits é maior que 3.
- Abra o arquivo
getCourses.sql. - Adicione o seguinte código ao arquivo
getCourses.sql:
-- Criando o procedimento armazenado getCourses
DELIMITER //
CREATE PROCEDURE getCourses()
BEGIN
-- Recupera cursos da tabela course onde o campo credits é maior que 3
SELECT course_id, title, dept_name, credits
FROM course
WHERE credits > 3;
END //
DELIMITER ;
- Salve e saia do arquivo.
Testar o Procedimento Armazenado getCourses
Nesta etapa, você testará o procedimento armazenado getCourses para garantir que ele esteja funcionando conforme o esperado.
- Execute o script
getCourses.sqlno MySQL:
MariaDB [edusys]> SOURCE /home/labex/project/getCourses.sql;
- Chame o procedimento armazenado
getCourses:
MariaDB [edusys]> CALL getCourses();
+-----------+----------------------------+------------+---------+
| course_id | title | dept_name | credits |
+-----------+----------------------------+------------+---------+
| BIO-101 | Intro. to Biology | Biology | 4 |
| BIO-301 | Genetics | Biology | 4 |
| CS-101 | Intro. to Computer Science | Comp. Sci. | 4 |
| CS-190 | Game Design | Comp. Sci. | 4 |
| PHY-101 | Physical Principles | Physics | 4 |
+-----------+----------------------------+------------+---------+
5 rows in set (0.000 sec)
A saída mostra que o procedimento armazenado getCourses está funcionando conforme o esperado, recuperando todos os cursos com créditos maiores que 3.
Resumo
Parabéns! Você concluiu este projeto. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.
