Trabalhando com Dados em SQLite

SQLiteBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá as operações fundamentais de como trabalhar com dados em SQLite, um banco de dados leve, baseado em arquivos, ideal para iniciantes. Através da prática no ambiente da máquina virtual (VM) do LabEx, você criará um banco de dados, configurará tabelas e executará tarefas essenciais, como inserir dados, consultar registros, atualizar informações e excluir entradas. Este guia passo a passo o ajudará a construir uma base sólida em gerenciamento de banco de dados usando comandos SQL simples, adaptados para aqueles que são novos em bancos de dados.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 96%. Recebeu uma taxa de avaliações positivas de 100% dos estudantes.

Criar um Banco de Dados e Tabela SQLite

Neste primeiro passo, você criará um banco de dados SQLite e configurará uma tabela para armazenar dados. SQLite é um banco de dados leve que armazena dados em um único arquivo, tornando-o fácil de usar para fins de aprendizado.

Primeiro, abra seu terminal na VM do LabEx. Seu caminho padrão é /home/labex/project.

Agora, vamos criar um banco de dados SQLite chamado mydb.sqlite. Execute o seguinte comando para criar o arquivo do banco de dados e abrir a ferramenta de linha de comando SQLite:

sqlite3 mydb.sqlite

Você verá um prompt indicando que agora está dentro do shell SQLite:

SQLite version 3.x.x
Enter ".help" for usage hints.
sqlite>

Em seguida, crie uma tabela chamada users para armazenar informações básicas do usuário. Esta tabela terá três colunas: id (um identificador único), name e email. Digite o seguinte comando SQL no prompt sqlite> e pressione Enter:

CREATE TABLE users (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    email TEXT NOT NULL
);

Este comando configura a tabela users onde:

  • id é um inteiro que aumenta automaticamente para cada nova entrada. A restrição PRIMARY KEY garante que cada id seja único, e AUTOINCREMENT faz com que ele aumente automaticamente.
  • name é um campo de texto que não pode ser deixado vazio (NOT NULL).
  • email também é um campo de texto que não pode ser deixado vazio (NOT NULL).

Você não verá nenhuma saída se o comando for executado com sucesso.

Inserir Dados na Tabela

Agora que você criou a tabela users, vamos adicionar alguns dados a ela. Inseriremos três registros de usuário na tabela.

Insira três registros de usuário na tabela users executando estes comandos um por um no prompt sqlite>:

INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');
INSERT INTO users (name, email) VALUES ('Bob', 'bob@example.com');
INSERT INTO users (name, email) VALUES ('Charlie', 'charlie@example.com');

Esses comandos adicionam três linhas à tabela users. Observe que você não especifica um valor para a coluna id porque ela incrementa automaticamente a cada nova entrada.

  • INSERT INTO users (name, email) especifica que você está inserindo dados nas colunas name e email da tabela users.
  • VALUES ('Alice', 'alice@example.com') fornece os valores a serem inseridos para cada registro.

Para confirmar se os dados foram adicionados corretamente, execute este comando para visualizar todos os registros na tabela:

SELECT * FROM users;

Saída Esperada:

1|Alice|alice@example.com
2|Bob|bob@example.com
3|Charlie|charlie@example.com

Esta saída mostra o id, name e email para cada registro. O comando SELECT * recupera todas as colunas da tabela especificada.

Consultar Dados com SELECT

Neste passo, você aprenderá como recuperar dados de sua tabela usando a instrução SELECT. Consultar dados é uma habilidade fundamental para trabalhar com bancos de dados, pois permite visualizar e analisar as informações armazenadas.

No prompt sqlite>, vamos primeiro recuperar todos os dados da tabela users. Execute este comando:

SELECT * FROM users;

Saída Esperada:

1|Alice|alice@example.com
2|Bob|bob@example.com
3|Charlie|charlie@example.com

O * em SELECT * significa "todas as colunas", então este comando mostra cada coluna e linha na tabela users.

Em seguida, você pode escolher colunas específicas para exibir. Para ver apenas as colunas name e email, execute:

SELECT name, email FROM users;

Saída Esperada:

Alice|alice@example.com
Bob|bob@example.com
Charlie|charlie@example.com

Este comando limita a saída apenas às colunas especificadas, omitindo o id.

Finalmente, filtre os dados usando uma condição com a cláusula WHERE. Para visualizar apenas o registro de 'Alice', execute:

SELECT * FROM users WHERE name = 'Alice';

Saída Esperada:

1|Alice|alice@example.com

A cláusula WHERE restringe os resultados às linhas que correspondem à condição, neste caso, onde o name é 'Alice'.

  • SELECT * FROM users seleciona todas as colunas da tabela users.
  • WHERE name = 'Alice' filtra os resultados para incluir apenas as linhas onde a coluna name é igual a 'Alice'.

Atualizar Registros na Tabela

Agora, você aprenderá como modificar dados existentes em sua tabela usando a instrução UPDATE. Atualizar registros é importante quando você precisa corrigir ou alterar informações em um banco de dados.

Primeiro, verifique os dados atuais na tabela users para ver o que você irá atualizar. Execute:

SELECT * FROM users;

Saída Esperada:

1|Alice|alice@example.com
2|Bob|bob@example.com
3|Charlie|charlie@example.com

Agora, atualize o endereço de e-mail de 'Bob' para bob.new@example.com. Insira este comando no prompt sqlite>:

UPDATE users SET email = 'bob.new@example.com' WHERE name = 'Bob';

Você não verá saída se o comando for bem-sucedido. Este comando altera o valor de email para a linha onde name é 'Bob'. A cláusula WHERE garante que apenas o registro correspondente seja atualizado.

  • UPDATE users especifica que você está atualizando a tabela users.
  • SET email = 'bob.new@example.com' define o novo valor para a coluna email.
  • WHERE name = 'Bob' filtra a atualização para aplicar apenas à linha onde o name é 'Bob'.

Verifique a alteração consultando a tabela novamente:

SELECT * FROM users;

Saída Esperada:

1|Alice|alice@example.com
2|Bob|bob.new@example.com
3|Charlie|charlie@example.com

Você pode ver que o e-mail de Bob foi atualizado.

Excluir Registros da Tabela

Neste passo final, você aprenderá como remover dados de sua tabela usando a instrução DELETE. Excluir registros é necessário quando você precisa limpar dados desatualizados ou incorretos de um banco de dados.

Primeiro, visualize os dados atuais na tabela users para identificar o que você irá excluir. Execute:

SELECT * FROM users;

Saída Esperada:

1|Alice|alice@example.com
2|Bob|bob.new@example.com
3|Charlie|charlie@example.com

Agora, exclua o registro de 'Charlie' executando este comando:

DELETE FROM users WHERE name = 'Charlie';

Você não verá saída se o comando for bem-sucedido. Este comando remove a linha onde name é 'Charlie'. A cláusula WHERE garante que apenas o registro especificado seja excluído.

  • DELETE FROM users especifica que você está excluindo da tabela users.
  • WHERE name = 'Charlie' filtra a exclusão para aplicar apenas à linha onde o name é 'Charlie'.

Verifique a exclusão consultando a tabela novamente:

SELECT * FROM users;

Saída Esperada:

1|Alice|alice@example.com
2|Bob|bob.new@example.com

Você pode ver que o registro de Charlie não está mais na tabela.

Resumo

Neste laboratório, você aprendeu as habilidades essenciais para trabalhar com dados em SQLite dentro do ambiente da VM do LabEx. Você criou um banco de dados e uma tabela SQLite, inseriu dados usando a instrução INSERT INTO, consultou informações com SELECT, atualizou registros com UPDATE e excluiu entradas usando DELETE. Estes exercícios práticos forneceram uma introdução abrangente ao gerenciamento de banco de dados, equipando você com o conhecimento fundamental para lidar com dados de forma eficaz usando SQLite.