Institucional

  • Sobre nós
  • Trabalhe Conosco
  • Para Empresas
  • Para Escolas
  • Política de Privacidade
  • Compromisso de Integridade
  • Termos de Uso
  • Canal de Ética
  • Código de Ética
  • Fale Conosco
  • Documentos Institucionais
  • Status
Institucional
  • Sobre nós
  • Trabalhe Conosco
  • Para Empresas
  • Para Escolas
  • Política de Privacidade
  • Compromisso de Integridade
  • Termos de Uso
  • Canal de Ética
  • Código de Ética
  • Fale Conosco
  • Documentos Institucionais
  • Status

A Alura

  • Como Funciona
  • Inteligência Artificial
  • Plataforma
  • Depoimentos
  • Instrutores(as)
  • Dev em <T>
  • Luri, a Inteligência Artificial da Alura
  • IA Conference
  • Cursos Imersivos
  • Perguntas Frequentes
A Alura
  • Como Funciona
  • Inteligência Artificial
  • Plataforma
  • Depoimentos
  • Instrutores(as)
  • Dev em <T>
  • Luri, a Inteligência Artificial da Alura
  • IA Conference
  • Cursos Imersivos
  • Perguntas Frequentes

Conteúdos

  • Alura Cases
  • Imersões
  • Artigos
  • Podcasts
  • Artigos de educação corporativa
Conteúdos
  • Alura Cases
  • Imersões
  • Artigos
  • Podcasts
  • Artigos de educação corporativa
Uma Empresa do GrupoLogo Grupo Alun

Outras empresas do Grupo Alun

  • FIAP
  • STARTSE
  • PM3
  • LUMINA

Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

Redes Sociais & Apps

instagram
youtube
tiktok
x
appStore
googlePlay
Uma Empresa do GrupoLogo Grupo Alun

Outras empresas do Grupo Alun

  • FIAP
  • STARTSE
  • PM3
  • LUMINA

Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

Redes Sociais & Apps

instagram
youtube
tiktok
x
appStore
googlePlay
Alura
  • Home

    Escolha seu Plano

    • Plus 2430% OFF
    • Pro 2430% OFF
    • Ultra Lab 2430% OFF

    Carreiras Alura

    Evolua com profundidade técnica, direção clara e aplicação prática.

    Jornadas guiadas do básico ao avançado com checkpoints práticos, desenhadas para quem busca profundidade e protagonismo técnico.

    Iniciante

    Comece do zero com uma trilha clara e progressiva.

    Fundamentos práticos para dar os primeiros passos com segurança e construir uma base sólida.

    Intermediário

    Continue sua evolução com cursos que conectam fundamentos, ferramentas e prática profissional. Ganhe autonomia, e avance para projetos mais completos.

    Avançado

    Aprofunde temas técnicos e estratégicos para enfrentar desafios mais complexos. Explore boas práticas, arquitetura, performance com visão profissional.

    CURSOS

    Ver mais cursos de Back-end
    • Pensamento computacional: fundamentos da computação e lógica de programação
    • Lógica de programação: mergulhe em programação com JavaScript
    • DDD: fundamentos do design orientado a domínio
    • ASP.NET: autenticação e autorização em APIs e aplicações web
    • Microsserviços: migração de monólitos e modularização

    CURSOS

    Ver mais cursos de Dados
    • Python para Dados: primeiros passos
    • Excel: domine o editor de planilhas
    • Engenharia de Dados: Orquestração de Pipelines com Apache Airflow
    • Power BI Desktop: construindo meu primeiro dashboard
    • Governança e Arquitetura de Dados

    CURSOS

    Ver mais cursos de Inteligência Artificial
    • IA: Explorando o Potencial da Inteligência Artificial Generativa
    • Engenharia de Prompt: Criando Prompts Eficazes para IA Generativa
    • Claude para Análise de Dados: prompts, integrações e automações
    • Agno: criando agentes e sistemas multiagente
    • Engenharia de software na era da IA: segurança de aplicações com agentes, MCPs e código gerado por IA

    CURSOS

    Ver mais cursos de Front-end
    • HTML e CSS: ambiente, estrutura e estilo
    • React: realizando testes avançados com Jest e Testing Library
    • React: integrando TypeScript em projetos
    • JavaScript: aprendendo a programar
    • React: aplicando arquiteturas de Micro frontends

    CURSOS

    Ver mais cursos de DevOps
    • Sistema Operacional Linux: fundamentos e administração prática
    • Containers e Docker: empacotamento, isolamento e gestão
    • Redes: dos conceitos iniciais à criação de uma intranet
    • Linux: gerenciando diretórios, arquivos, permissões e processos
    • Cibersegurança: Fundamentos e práticas integradas

    CURSOS

    Ver mais cursos de UX & Design
    • UX Research: mapeando a experiência da pessoa usuária
    • UX/UI Design: Entregando produtos digitais com IA
    • UI Design: Prototipação e animações interativas
    • Figma: Conhecendo o programa
    • Product Design: métricas e ciclo de vida do produto

    CURSOS

    Ver mais cursos de Inovação e Gestão
    • Canva: Criação de landing pages e e-mail marketing
    • Agilidade: como ela pode ajudar a criar um time de alta performance
    • Google Analytics 4: Extrair insights e configurar eventos
    • Management 3.0: gerencie o ambiente, não as pessoas
    • Automação de processos com n8n: Inteligência de dados para Marketing

    CURSOS

    Ver mais cursos de Mobile
    • React Native: Estilização e Layouts com Flexbox e StyleSheet
    • Flutter: Graphql e suporte offline
    • Android com Gemini: Trabalhando com textos e imagens na IA
    • Dart: trabalhando com orientação a objetos
    • React Native: Dominando Listas com FlatList e ScrollView

    CARREIRAS

    Ver mais carreiras
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA

    CURSOS

    • Engenharia de Prompt: Prompts Eficazes para IA Generativa
    • Claude Code: Criando sua Primeira Aplicação
    • Python: Crie sua Primeira Aplicação
    • Git e GitHub: Compartilhando e Colaborando
    • N8N: Fluxos de Trabalho Avançados

    CURSOS

    • Copilot Studio: Solução Multiagentes
    • Padrões de API HTTP e Modelagem de APIs
    • Python para Análise de Dados com SQL
    • Docker: Criando e Gerenciando Containers
    • Design com IA: Otimizando o Processo Criativo

    CURSOS

    • Model Context Protocol (MCP)
    • Spec-Driven Development: Dev Assistido por Agentes
    • Arquitetura de Sistemas Distribuídos com Java
    • Governança de Modelos e Reprodutibilidade
    • Pentest: Vulnerabilidades em Aplicações Web

    Escolha seu Plano

    • Plus 2430% OFF
    • Pro 2430% OFF
    • Ultra Lab 2430% OFF

    Skills & Go

    O Skills & Go é para Tech Leads, Product Managers, estrategistas e early adopters que transformam ideias em soluções de alto impacto. Em cursos ao vivo e 100% online, você domina a nova era da IA em tempo real.

    Aulas ao vivo

    Saiba mais
    • Agentic Engineering: orquestre multiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA

    Escolha seu Plano

    • Plus 2430% OFF
    • Pro 2430% OFF
    • Ultra Lab 2430% OFF

    Eventos Alura

    Nossos eventos são pensados para quem quer estar à frente das mudanças em tecnologia, IA e inovação. Em experiências presenciais, você acompanha tendências e se conecta com especialistas que estão moldando o futuro.

    Próximos eventos

    • IA Conference
    • Alura Signals
  • Talent Lab
  • IA
  • Artigos
  • Para Empresas
Ver planos
Links principais
  • Planos e Promoções
  • Carreiras

    Ver todas
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA
    Entrar Ver Planos
  • Área de Interesse

    Entrar Ver Planos
  • Aulas ao Vivo - Skills & Go

    • Agentic Engineering: orquestre multiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA
    Entrar Ver Planos
  • Senioridade

    Entrar Ver Planos
  • Eventos Alura

    • IA Conference
    • Alura Signals
    Entrar Ver Planos
  • Links complementares do menu mobile
  • Talent lab
  • Inteligência Artificial
  • Pós Graduações
  • Artigos
  • Para Empresas
  • Sobre a Alura
  • Grupo Alun
  • Entrar
    • Home
    • Carreiras
    • Skills & Go
    • Talent Lab
    • Inteligência Artificial
    • Pós Graduações
    • Artigos
    • Sobre a Alura
    • Grupo Alun
    LoginContato
    • Plano Pro 24
    • Plano Plus 24
    • Plano Ultra Lab 24
    • LinkedIn
    • Instagram
    • YouTube
    1. Página inicial
    2. Dados
    3. Comandos SQL: SELECT, INSERT, UPDATE e DELETE

    Comandos SQL: SELECT, INSERT, UPDATE e DELETE

    10 min10 minutos de leitura

    10 min10 minutos de leitura

    Publicado: 06/05/2019

    Última atualização: 29/01/2026

    1. Criando database
    2. Criando tabelas com MySQL
    3. Mais colunas e chave-primária
    4. INSERT - Inserindo dados na tabela
    5. DELETE - Deletando linhas de tabelas
    6. UPDATE - Mudando dados da tabela
    7. SELECT - Mostrando dados da tabela
    8. Conclusão

    Um amigo que trabalha em uma biblioteca me procurou com um desafio: criar um sistema que permitisse controlar o estoque de livros, os empréstimos, a disponibilidade de exemplares e a entrada de novos títulos no acervo. 

    Para resolver o problema, sugeri a criação de um sistema no banco de dados, pois assim eles teriam mais controle para dessas ações. 

    Neste artigo, vamos percorrer os primeiros passos dessa jornada, desde a criação do banco até a estruturação das tabelas. 

    Criando database 

    Comecei baixando o MySQL (confira nosso tutorial de download e instalação do MySQL), configurei um servidor e criei uma database biblioteca, com o comando CREATE: 

    CREATE database biblioteca;

    Agora, com a database criada, que é um banco de dados próprio da biblioteca devemos adicionar os dados dos livros. E como podemos fazer isso? 

    No SQL os dados são inseridos em tabelas, na qual cada coluna representa um dado e cada linha, um livro cadastrado. 

    Banner da Alura convidando profissionais a desenvolver habilidades em inteligência artificial para acompanhar as transformações do mercado de tecnologia. A campanha destaca que quem utiliza IA produz mais, cresce na carreira e se torna mais competitivo, reforçando que a inteligência artificial deixou de ser tendência e passou a ser uma habilidade essencial. O banner incentiva a começar a aprender IA com os cursos da Alura e impulsionar a transformação digital.

    Criando tabelas com MySQL

    Comecei a pensar o que teria que ter na tabela. Cheguei aos seguintes tópicos: 

    • Título 
    • Autor 
    • ISBN (International Standard Book Number) 
    • Edição 
    • Editora 
    • Ano de publicação 
    • Páginas 
    • Gênero literário 
    • Idioma 
    • Quantidade de livros desta edição 
    • Quantidade de livros desta edição disponível na biblioteca 

    Porém, lembrei que antes de começar a criar qualquer coisa no banco de dados, devemos informar qual database queremos usar. Para isso, usamos o comando USE e o nome da database sempre que formos mexer nessa database. Então, escrevi: 

    USE biblioteca;

    A partir daí, comecei a escrever o código para criar CREATE a tabela TABLE e o nome da tabela, que será livros. Ficando: 

    CREATE TABLE livros

    Para colocar as colunas, devemos abrir e fechar um parêntese e escrever as colunas entre eles, colocando o nome correspondente. 

    Na frente do nome da coluna, precisamos colocar o tipo de informação que ela receberá. 

    Para começar, nas colunas título e autor, como serão textos, e muitas vezes podem ser grandes, coloquei o tipo text que não precisa estipular um limite de caracteres.  O resultado foi: 

    CREATE TABLE livros ( 
    titulo text, 
    autor text,

    Porém, nas colunas ISBN, edição e editora, que são informações que podem conter algum número ou caractere especial, coloquei o tipo varchar e para evitar um desperdício de armazenamento, defini um limite de 50 caracteres para cada campo. Ficando assim:

    ISBN varchar (50), 
    edicao varchar (50), 
    editora varchar(50),

    Então, criei a coluna anoPublicacao para indicar a data em que ano o livro foi publicado, sendo o tipo year, que aceita somente o ano e, assim, não precisamos incluir a data inteira: 

    anoPublicacao year,

    Para a coluna de páginas, como essa informação sempre será um número inteiro, coloquei o tipo int que indica que ali só serão acrescentando números inteiros.

    qtdePaginas int,

    Já na coluna de gênero, como sempre inserimos os mesmos tipos, coloquei o tipo enum, que só permite inserir um valor que está entre alguns que foram definidos na criação da tabela.

    Assim, também podemos saber quantos livros de determinado gênero temos no estoque. E como ficou a seguir: 

    
    genero ENUM ('poesia', 'soneto', 'romance', 'fábula', 'novela', 'cronica', 'conto', 'ensaio', 'biografia', 'chicklit', 'fantasia', 'distopia', 'ficcao cientifica', 'horror', 'fantastica', 'infanto juvenil', 'young adult', 'suspense', 'autoajuda', 'negocios', 'tecnologia', 'hq', 'aventura')),

    Na coluna idioma, também coloquei o tipo varchar porque podemos receber livros de diversas linguagens. Ficando: 

     idioma varchar(50), 
    

    Mais colunas e chave-primária

    Para o controle de estoque, criei duas colunas: quantidade (total de exemplares adquiridos) e disponível (total em prateleira).  

    A ideia é manter o valor original em uma, enquanto a outra é atualizada conforme os empréstimos ocorrem. Como só podem ser números inteiros também, já que não podemos ter meio livro, coloquei o tipo int:

    quantidade int, 
    disponivel int );

    Além disso, no fim do insert, depois de fechar o parêntese, devemos finalizar o comando com ponto e vírgula (`;`), como deve ser feito no fim de todo comando em SQL. 

    O código inteiro para criar a tabela ficou assim: 

    
    CREATE TABLE livros ( 
    titulo text, 
    autor text, 
    ISBN varchar (50), 
    edicao varchar (50), 
    editora varchar(50), 
    anoPublicacao year, 
    qtdePaginas int, 
    genero ENUM ('poesia', 'soneto', 'romance', 'fábula',
     'novela', 'cronica', 'conto', 'ensaio', 'biografia',
     'chicklit', 'fantasia', 'distopia', 
    'ficcao cientifica', 'horror', 'fantastica',
     'infanto juvenil', 'young adult', 'suspense',
     'autoajuda', 'negocios', 'tecnologia', 'hq',
     'aventura'), 
    idioma varchar(50), 
    quantidade INT, 
    disponivel int);

    Antes de executar, pensei em criar uma coluna que na primeira linha tivesse o valor “1” e fosse aumentando os valores automaticamente para que, assim, esse número indicasse quantos livros a biblioteca tinha ao todo. 

    
    CREATE TABLE livros ( 
    id INT auto_increment PRIMARY KEY, 
    titulo text, 
    autor text, 
    isbn varchar (50), 
    edicao varchar (50), 
    editora varchar(50), 
    anoPublicacao year, 
    qtdePaginas int, 
    genero ENUM ('poesia', 'soneto', 'romance', 'fábula', 'novela', 'cronica', 'conto', 'ensaio', 'biografia', 'chicklit', 'fantasia', 'distopia', 'ficcao cientifica', 'horror', 'fantastica', 'infanto juvenil', 'young adult', 'suspense', 'autoajuda', 'negocios', 'tecnologia', 'hq', 'aventura'), 
    idioma varchar(50), 
    quantidade int, 
    disponivel int );

    E pronto! A minha tabela foi criada! 

    Agora com a tabela criada temos que adicionar dados nela! E como podemos fazer isso? 

    INSERT - Inserindo dados na tabela

    Para isso, eu usei o comando INSERT. 

    Ao usar o INSERT devemos escrever INSERT INTO, seguido pelo nome da tabela e pela lista de colunas. Após a cláusula VALUES, inserimos os dados correspondentes entre parênteses. Como a coluna id será auto incrementada, sempre que uma linha for adicionada, não precisamos inserir um valor nela.

    Assim, iremos adicionar uma linha, que são os dados que terão na tabela:

    
    INSERT INTO livros (titulo, autor, isbn, edicao, editora, anoPublicacao, qtdePaginas, genero, idioma, quantidade) VALUES ('orgulho e preconceito', 'jane austen', 978-8544001820, 'luxo', 'martin claret', 2018, 424, 'romance', 2);

    Porém, apareceu o seguinte erro: 

    
    Error Code: 1136. Column count doesn’t match value count at row 1

    Quando procurei para saber mais, descobri que este erro acontece quando colocamos valores em colunas que não existem. Porém, todas essas colunas existem na minha tabela. Qual será o problema?

    Analisando o comando, notei que não havia inserido nenhum valor na coluna idioma, mesmo tendo informado no comando que ela receberia um valor. Tentando novamente:

    
    INSERT INTO livros (titulo, autor, isbn, edicao, editora, anoPublicacao, qtdePaginas, genero, idioma, quantidade, disponivel) VALUES ('orgulho e preconceito', 'jane austen', '978-8544001820', 'luxo', 'martin claret', 2018, 424, 'romance', 'portugues', 2, 2);

    E deu certo! Assim, comecei a adicionar outros livros daquele mês. 

    Porém, como eu podia fazer para mostrar a tabela na tela? Pensei que eu deveria selecionar a tabela inteira ou uma parte dela para mostrar, então usei o comando SELECT: 

    
    SELECT ALL FROM livros;

    Porém, apresentou o seguinte erro: 

    
    Error 1064. You have an error in your SQL syntax.

    Isso significa que errei a sintaxe do SQL, ou seja, que o comando ou uma parte dele foi escrita errado. Foi então que procurei e descobri que no SQL o comando para selecionar todos é *, então, coloquei: 

      
    SELECT * FROM livros

    E apareceu todas as coisas que cadastrei no banco de dados! 

    DELETE - Deletando linhas de tabelas

    Porém, observando a lista, notei que havia adicionado duas vezes uma mesma edição em capa de Orgulho e Preconceito.

    Como a questão é controlarmos a quantidade de títulos que temos, não tem necessidade de tê-lo duas vezes quando a quantidade de livros está na tabela, certo? E como eu poderia apagar uma das linhas duplicadas?

    Para deletar no banco de dados usamos o DELETE:

     
    DELETE from livros

    Porém, percebi que não tinha indicado qual linha deveria ser deletada e utilizando o comando assim eu poderia deletar toda a tabela, ou seja, todos os dados que eu havia inserido nela.

    Então, pensei em especificar qual linha era com ao menos um valor de uma das colunas. Na minha tabela, existe alguma coluna que possui um valor único para cada linha?

    Lembra que quando criamos a tabela criamos a coluna id que teria um número que se auto incrementaria e era a chave primária da tabela?

    Essa é a coluna que devemos usar como parâmetro! Pois, se usássemos a coluna de nome, as duas linhas seriam excluídas e teríamos que incluir mais uma vez.

    Usando a coluna id, que tem um número diferente para cada linha, só a linha errada é excluída.

    Então, usei mais uma vez o SELECT * FROM livros e vi na tabela o id da linha duplicada:

    Que no caso, o id é o 2. 

    Mudando o comando para deletar a linha da tabela, onde o id era 2, ficou: 

    
    DELETE from livros WHERE id=2;

    E funcionou! Vendo a tabela novamente, não existe mais a linha 2 e há somente uma linha para esta edição do Orgulho e Preconceito. 

    E pronto! Agora a biblioteca começou a funcionar! 

    UPDATE - Mudando dados da tabela

    Os livros já estão sendo emprestados e como posso fazer para atualizar a quantidade de livros disponíveis na biblioteca?

    Para mudar dados de uma linha de uma tabela em SQL utilizei o comando UPDATE. Porém, assim como 'DELETE', deve ser especificado para não serem alteradas todas as linhas.

    Fui escrevendo o comando para atualizar a linha da coluna, utilizando como parâmetro o nome do livro.

    
    UPDATE livros SET disponivel=1 WHERE titulo='O Diário de Anne Frank';

    Porém, temos diversas edições deste mesmo livro e, utilizando este comando, iríamos alterar a quantidade de livros disponíveis para todas as edições. Então, precisamos de uma informação da tabela que seja única em cada linha. Qual seria essa?

    Sim! O id da linha, que é autoincrementado e tem um número específico para cada linha, permitindo que saibamos exatamente qual linha queremos alterar.

    Assim, comecei a mudar os comandos, colocando como parâmetro de verificação da linha o id, que é a chave primária da tabela, de cada um. Como aqui:

    
    UPDATE livros SET disponivel=1 WHERE id=19;

    Deu certo! E assim podemos atualizar a quantidade de livros disponíveis para aquela edição sempre que um for emprestado e devolvido! mpre que um for emprestado e devolvido!

    SELECT - Mostrando dados da tabela

    Passado algum tempo com a biblioteca funcionando, uma pessoa veio questionar quantos livros de poesia a biblioteca possui, que tinham edições disponíveis para serem emprestadas.

    E como poderíamos saber esses dados para respondê-la?

    Vimos anteriormente como mostrar todos os dados da tabela, que é com o SELECT * from livros.

    Mas como podemos utilizar este comando para mostrar somente os títulos que são poesia e não todos os livros que a biblioteca possui, como o comando fará se o executarmos assim?

    Para isso, precisamos utilizar o título do livro como parâmetro para podermos selecionar somente as edições deste mesmo título.

    Então, seguindo a ideia dos comandos de DELETE e UPDATE, onde devemos mostrar quais são as linhas que devem ser afetadas, vamos fazer o mesmo com o SELECT.

    
    SELECT * from livros WHERE genero='poesia' AND disponivel>0;

    E funcionou! Aparecem somente os títulos de poesia e que possuem edições disponíveis para serem emprestadas.

    Porém, assim, aparecem todas as informações do livro e quero saber somente o título, o autor e a quantidade disponível, certo? Como posso utilizar o comando SELECT para mostrar apenas essas colunas?

    Tentei o seguinte comando:

    
    SELECT titulo, autor, disponivel FROM livros WHERE genero='poesia' AND disponivel>0;

    E deu certo! Apareceram somente essas colunas das linhas que são do gênero poesia.

    Conclusão 

    Agora que você já sabe criar tabelas e inserir, atualizar, excluir e consultar dados, que tal aplicar tudo isso em um banco de dados? 

    Acesse a Carreira de Análise de Dados e aprenda a extrair, manipular, analisar e comunicar informações relevantes a partir de grandes volumes de dados. Desenvolva habilidades práticas para trabalhar com dados estruturados e não estruturados e avance na sua carreira em dados. 

    Banner da Alura convidando profissionais a desenvolver habilidades em inteligência artificial para acompanhar as transformações do mercado de tecnologia. A campanha destaca que quem utiliza IA produz mais, cresce na carreira e se torna mais competitivo, reforçando que a inteligência artificial deixou de ser tendência e passou a ser uma habilidade essencial. O banner incentiva a começar a aprender IA com os cursos da Alura e impulsionar a transformação digital.

    Avalie este artigo

    Foto de Giulia Losnak

    Autor(a)

    Giulia Losnak

    Explore por tópico

    • Mobile
    • Back-end
    • Front-end
    • DevOps
    • UX & Design
    • Dados
    • Gestão & Negócios
    • Inteligência Artificial
    • Cibersegurança
    • Cloud

    Leia também

    • Alura
      29/03/2016

      Funções de agregação com GROUP BY no SQL: como usar?

      Ler mais
    • 08/05/2024

      O que um DBA precisa saber para trabalhar com o MySQL

      Ler mais
    • Alura
      14/04/2020

      #QuarentenaDados: dê seus primeiros passos em Data Science

      Ler mais
    Ver mais conteúdos

    Inscreva-se em nossa Newsletter

    Fique por dentro de conteúdos, insights e oportunidades do universo tech. Receba novidades e lançamentos direto no seu e-mail.