Instalar o SQLite

O editor deste guia já roda um SQLite dentro do navegador, então você pode fazer as aulas sem instalar nada. Mas um dia você vai querer abrir um banco de verdade, que fica gravado no seu computador: o da sua lojinha, o das suas finanças, o de um projeto. Para isso existe o programa sqlite3, o "terminal do SQLite". Ele é pequeno, gratuito e se instala em um minuto. Nesta aula você vai instalá-lo no seu sistema, conferir a versão e abrir pela primeira vez o banco da Loja Aurora no seu computador.

Você vai aprender
  • O que exatamente se instala: o programa de linha de comando sqlite3.
  • Como instalar no Linux (Debian, Ubuntu), no Windows e no macOS.
  • Por que a versão da sua distribuição Linux pode ser mais antiga que a do guia, e se isso importa.
  • Como conferir a instalação com sqlite3 --version e entender o número que aparece.
  • Como baixar o banco da Loja Aurora e criar o seu loja.db.
  • Os erros comuns: "comando não encontrado", arquivo inexistente, SQL digitado no lugar errado e o banco vazio criado sem querer.

A ideia: o SQLite é um arquivo, o sqlite3 é a chave

Lembre da aula Os Bancos Famosos: o SQLite não tem servidor. O banco é um arquivo, como uma foto ou uma planilha. Para abrir uma planilha você precisa de um programa de planilhas; para abrir um banco SQLite, você precisa de um programa que fale SQLite. O mais simples deles, feito pelos próprios autores do SQLite, é o sqlite3: um programa de terminal (aquela janela de texto onde se digitam comandos).

CoisaO que éComparação
SQLiteO motor de banco de dadosO "jeito" de guardar fichas
loja.dbUm banco: um arquivo com as tabelas dentroO fichário da loja
sqlite3O programa que abre o arquivo e recebe o seu SQLA chave do fichário, e o balcão onde você faz os pedidos

Quem já usou o Linux talvez nem precise instalar: muitas distribuições já trazem o sqlite3. No macOS ele também já vem. Por isso, o primeiro passo em qualquer sistema é conferir.


1. Já tenho? Conferindo a versão

Abra o terminal (no Linux, procure "Terminal" no menu; no macOS, Aplicativos → Utilitários → Terminal; no Windows, o "Terminal" ou o "PowerShell") e digite:

$ sqlite3 --version
3.50.4 2025-07-30 19:33:53 4d8adfb30e03f9cf27f800a2c1ba3c48fb4ca1b08b0f5ed59a4d5ecbf45e20a3 (64-bit)

Essa é a resposta real do computador da Ana, que tem o mesmo SQLite usado em todas as aulas. Parte por parte:

sqlite3
O nome do programa. O 3 faz parte do nome: é a terceira geração do SQLite, a única usada hoje. sqlite, sem o 3, não existe (veja Quando dá errado).
--version
Uma opção: em vez de abrir um banco, o programa só diz a versão e termina. -version, com um tracinho só, faz o mesmo.
3.50.4
A versão: geração 3, versão 50, quarta correção. É a que este guia usa.
2025-07-30 19:33:53
A data e a hora em que essa versão foi publicada (no padrão ano-mês-dia, o mesmo que você vai usar nas datas em SQL).
4d8adfb3…
Uma "impressão digital" do código-fonte daquela versão exata. Serve para os desenvolvedores; você pode ignorar.
(64-bit)
O programa foi feito para processadores de 64 bits, os de praticamente todo computador atual.

Apareceu um número começando com 3.? Então você já tem o SQLite e pode pular para a seção 5. Apareceu "comando não encontrado"? Siga a seção do seu sistema.

Experimente: o editor do guia também é um SQLite, e você pode perguntar a versão dele em SQL, com a função sqlite_version(). Mas o código abaixo esqueceu os parênteses. Rode, veja o erro e conserte: tem de aparecer a mesma versão do terminal da Ana.

SELECT sqlite_version;
SELECT sqlite_version();

Sem os parênteses, o SQLite procura uma coluna chamada sqlite_version e responde no such column: sqlite_version. Com eles, ele entende que é uma função e a executa.


2. No Linux: Debian, Ubuntu e derivados

No Debian, no Ubuntu, no Linux Mint e nos outros "parentes", programas se instalam pelo apt, o gerenciador de pacotes: uma "loja de aplicativos" de linha de comando. O pacote se chama sqlite3, igual ao programa:

sudo apt update
sudo apt install sqlite3
sudo
"Faça como administrador". Instalar programas mexe no sistema, então o Linux pede a sua senha (ao digitar, nada aparece na tela; é normal).
apt update
Atualiza a lista de programas disponíveis, como abrir a loja de aplicativos e deixar ela carregar as novidades.
apt install sqlite3
Baixa e instala o pacote sqlite3. O apt mostra o que vai instalar e pergunta se pode continuar; responda S (ou Y, se o sistema estiver em inglês).

Os dois comandos estão marcados como ilustrativos: o computador da Ana, onde as saídas do guia são colhidas, não instala programas. Depois de instalar, confira com sqlite3 --version, como na seção 1.

No Fedora, o comando equivalente é sudo dnf install sqlite; no Arch Linux, sudo pacman -S sqlite. Em todos eles, o programa instalado se chama sqlite3.

A versão da distribuição é mais antiga. Tem problema?

As distribuições Linux "congelam" as versões dos programas quando lançam uma edição, para tudo ficar estável durante anos. Por isso o sqlite3 do apt costuma ser mais velho que o do site oficial. Em outubro de 2026, segundo os sites de pacotes do Debian e do Ubuntu:

SistemaVersão do sqlite3 no apt
Debian 12 (bookworm)3.40.1
Debian 13 (trixie), o estável atual3.46.1
Ubuntu 24.04 LTS (noble)3.45.1
Ubuntu 26.04 LTS (resolute)3.46.1
Este guia3.50.4
Site oficial, sqlite.org (a mais nova)3.54.1

Para aprender, uma 3.45 ou 3.46 serve para quase tudo do guia: o SQL básico é o mesmo há muitos anos. A diferença aparece nos detalhes: um recurso mais recente que falta, ou uma mensagem de erro que sai com outra cara. Se você quiser exatamente o que aparece nas aulas, use uma versão 3.50 ou mais nova, baixada do site oficial: na página de downloads do sqlite.org, a parte "Precompiled Binaries for Linux" tem o arquivo sqlite-tools-linux-x64-….zip, com o sqlite3 pronto para usar dentro.

Lendo o número no nome do arquivo

Os arquivos do sqlite.org trazem a versão escrita em 7 algarismos: 3540100 é a 3.54.1 (3 · 54 · 01 · 00), e a do guia seria 3500400 (3 · 50 · 04 · 00). Assim, numa lista de arquivos, a versão mais nova sempre fica por último.


3. No Windows

O Windows não traz o programa sqlite3 pronto para usar no terminal (o SQLite até está lá dentro, escondido, a serviço de outros programas). Há dois caminhos, e os dois são ilustrativos aqui, porque o computador da Ana usa Linux.

Caminho A: o zip oficial

  1. Abra sqlite.org/download.html e procure a parte "Precompiled Binaries for Windows".
  2. Baixe o arquivo sqlite-tools-win-x64-….zip (em outubro de 2026, sqlite-tools-win-x64-3540100.zip). Ele é descrito como "Command-line tools for Windows x64", as ferramentas de linha de comando, e traz o sqlite3.exe. Se o seu computador tem processador ARM, pegue o sqlite-tools-win-arm64-….zip. Os arquivos sqlite-dll-… não servem: são peças para programadores, sem o terminal.
  3. Crie uma pasta, por exemplo C:\sqlite, e extraia o zip dentro dela.
  4. Abra o PowerShell (ou o Terminal), entre na pasta e confira:
cd C:\sqlite
.\sqlite3.exe --version

O .\ na frente diz "o programa que está nesta pasta". Para poder digitar só sqlite3 de qualquer pasta, como nas aulas, acrescente C:\sqlite à variável Path do Windows: menu Iniciar → "Editar as variáveis de ambiente do sistema" → Variáveis de Ambiente → Path → Editar → Novo. Feche e abra o terminal de novo depois.

Caminho B: o winget

O Windows 10 e o 11 têm um gerenciador de pacotes, o winget, parecido com o apt do Linux. O pacote do SQLite se chama SQLite.SQLite:

winget install SQLite.SQLite

Ele baixa e instala tudo sozinho. Feche e abra o terminal, e confira com sqlite3 --version. O winget pode demorar um pouco para receber a versão mais nova do site oficial, mas sempre traz uma bem recente.


4. No macOS

O macOS já vem com o sqlite3, na pasta /usr/bin. Abra o Terminal e confira com sqlite3 --version. A versão depende da versão do macOS, e às vezes é mais antiga que a do guia. Para ter uma mais nova, o caminho mais usado é o Homebrew, o gerenciador de pacotes mais popular do Mac (se ainda não tem, as instruções estão em brew.sh):

brew install sqlite

Repare: a fórmula se chama sqlite, sem o 3. E tem um detalhe: o Homebrew a instala como keg-only ("guardada no barril"), "porque o macOS já fornece este programa", nas palavras da página da fórmula. Na prática, digitar sqlite3 continua abrindo o da Apple. Para usar o do Homebrew, chame-o pelo caminho completo:

$(brew --prefix sqlite)/bin/sqlite3 --version

O brew --prefix sqlite responde onde o Homebrew guardou o SQLite, e o resto do caminho aponta para o programa lá dentro. O site oficial também tem um zip para Mac (sqlite-tools-osx-….zip), mas os programas dele não são assinados, e o macOS bloqueia a primeira execução; o Homebrew é mais simples.

Qual caminho escolher

SistemaCaminhoVersãoQuando usar
Linux (Debian, Ubuntu…)sudo apt install sqlite3A da distribuição (mais antiga)O mais fácil; serve para quase todo o guia
LinuxZip do sqlite.orgA mais novaPara ter o mesmo das aulas, ou um recurso novo
Windowswinget install SQLite.SQLiteRecenteO mais fácil, se você tem o winget
WindowsZip do sqlite.orgA mais novaSem winget, ou para escolher a pasta
macOSO que já vemA do macOSPara começar já
macOSbrew install sqliteA mais novaPara ter uma versão atual

5. Baixando o banco da Loja Aurora

Com o sqlite3 instalado, falta o banco das aulas. Ele está neste site como um arquivo de texto com todo o SQL que cria as 7 tabelas e põe os dados nelas: aurora.sql. Baixe e salve na pasta Downloads. Depois, no terminal, entre nessa pasta e mande o sqlite3 criar o banco a partir dele:

$ cd Downloads
$ ls -l
total 24
-rw-r--r-- 1 ana ana 20507 out 18 11:17 aurora.sql
$ sqlite3 loja.db < aurora.sql
$ ls -l
total 68
-rw-r--r-- 1 ana ana 20507 out 18 11:17 aurora.sql
-rw-r--r-- 1 ana ana 45056 out 18 11:17 loja.db
$ sqlite3 loja.db "SELECT COUNT(*) FROM produtos;"
45
cd Downloads
Entra na pasta onde está o aurora.sql.
sqlite3 loja.db
Abre o banco loja.db. Se o arquivo não existe, o sqlite3 o cria.
< aurora.sql
O sinal < é do terminal, não do SQLite: "em vez do teclado, leia os comandos deste arquivo". O sqlite3 executa, um por um, todos os comandos SQL do aurora.sql e termina. Não mostrar nada é bom sinal: deu certo.
loja.db, 45056
O banco novo, com 45.056 bytes (44 KB): as 7 tabelas da loja cabem num arquivo menor que uma foto de celular.
sqlite3 loja.db "SELECT …;"
Outro jeito de usar o sqlite3: com o SQL entre aspas depois do nome do banco, ele roda aquele comando, mostra a resposta e termina. Os 45 produtos estão lá.

Ou: baixe o banco pronto

Se preferir pular o passo do aurora.sql, o site também tem o banco já montado: aurora.db. Salve com o nome loja.db (se o navegador salvar como aurora.db, renomeie). É exatamente o mesmo arquivo que o sqlite3 loja.db < aurora.sql cria: o cmp, que compara dois arquivos byte a byte, não acha diferença nenhuma entre o banco que a Ana acabou de montar em Downloads e o aurora.db baixado do site, guardado como ~/loja.db:

$ cmp loja.db ../loja.db && echo iguais
iguais

(O cmp fica calado quando os arquivos são iguais; o && echo iguais só escreve a palavra quando ele termina sem achar diferença.) Montar pelo aurora.sql tem uma vantagem: dá para abrir o arquivo num editor de texto e ver todo o SQL que criou a loja.

No Windows, os comandos são os mesmos no Prompt de Comando (cmd). No PowerShell, o < não funciona; use sqlite3 loja.db ".read aurora.sql", que pede ao próprio sqlite3 para ler o arquivo. O .read é um "comando de ponto", assunto de Comandos de Ponto.

Pronto: o loja.db é o mesmo banco que o editor do guia usa. Tudo o que você rodar nele dá o mesmo resultado das aulas, com uma diferença importante: no seu computador, as mudanças ficam gravadas. Se um dia você estragar o banco de propósito (ou sem querer), apague o loja.db e rode o sqlite3 loja.db < aurora.sql de novo. O banco volta novinho.

Experimente: no seu terminal, a Ana conferiu os 45 produtos. Aqui no editor, faça a mesma conferência para outra tabela: mude o comando para contar as linhas da tabela pedidos. Se você criou o seu loja.db, rode o mesmo SQL lá e compare.

SELECT COUNT(*) FROM produtos;
SELECT COUNT(*) FROM pedidos;

Quando dá errado

As saídas abaixo são reais, do terminal da Ana. As mensagens do terminal (o bash) saem em português, porque o sistema dela está em português; as do sqlite3 saem em inglês.

"comando não encontrado"
$ sqlite --version
bash: sqlite: comando não encontrado

O que aconteceu: o terminal não achou nenhum programa chamado sqlite. Aqui o motivo é o nome: faltou o 3. A mesma mensagem aparece quando o sqlite3 realmente não está instalado (ou, no Windows, quando a pasta dele não está no Path).

Como consertar: digite sqlite3, com o 3. Se mesmo assim aparecer "comando não encontrado", instale pelo caminho do seu sistema (seções 2 a 4). No Windows, se acabou de instalar, feche e abra o terminal de novo.

Arquivo inexistente: a pasta errada
$ sqlite3 loja.db < aurora.sql
bash: aurora.sql: Arquivo ou diretório inexistente

O que aconteceu: a Ana rodou o comando na pasta pessoal (~), mas o aurora.sql está em Downloads. Quem reclama é o terminal (bash: no começo), antes mesmo de o sqlite3 rodar.

Como consertar: entre na pasta certa primeiro (cd Downloads), ou diga onde está o arquivo: sqlite3 loja.db < Downloads/aurora.sql. Na dúvida, ls mostra o que tem na pasta em que você está.

SQL digitado no terminal, e não no sqlite3
$ SELECT COUNT(*) FROM produtos;
bash: erro de sintaxe próximo ao token inesperado `('

O que aconteceu: o prompt $ é do terminal, que não fala SQL. Ele tentou entender aquilo como um comando dele e tropeçou no parêntese.

Como consertar: SQL vai para o sqlite3: entre primeiro com sqlite3 loja.db (o prompt muda para sqlite>) ou ponha o SQL entre aspas: sqlite3 loja.db "SELECT COUNT(*) FROM produtos;". Os dois jeitos estão na próxima aula, O Terminal do SQLite.

"no such table" num banco que você acabou de criar sem querer
$ sqlite3 lojaa.db "SELECT COUNT(*) FROM produtos;"
Error: in prepare, no such table: produtos
$ ls -l lojaa.db
-rw-r--r-- 1 ana ana 0 out 18 11:17 lojaa.db

O que aconteceu: um a a mais no nome do arquivo. O sqlite3 não diz "arquivo não encontrado": quando o banco não existe, ele cria um novo, vazio, e a consulta falha porque, nesse banco novo, não existe tabela nenhuma. O ls mostra o arquivo novo, com 0 bytes. O Error: in prepare quer dizer que o erro aconteceu na hora de "preparar" o comando, antes de rodar. Com Loja.db (L maiúsculo) acontece o mesmo no Linux e no macOS, onde maiúsculas e minúsculas fazem diferença no nome dos arquivos.

Como consertar: apague o arquivo vazio (rm lojaa.db) e use o nome certo. Quando aparecer no such table numa tabela que você tem certeza de que existe, desconfie do nome do arquivo ou da pasta.


Referência rápida

SistemaInstalar (ilustrativo)Conferir
Debian, Ubuntu, Mintsudo apt install sqlite3sqlite3 --version
Fedorasudo dnf install sqlite
Archsudo pacman -S sqlite
Windowswinget install SQLite.SQLite ou o zip sqlite-tools-win-x64-…
macOSJá vem; ou brew install sqlite
ComandoO que faz
sqlite3 --versionMostra a versão e termina
sqlite3 loja.db < aurora.sqlCria (ou recria) o banco da loja a partir do arquivo SQL
sqlite3 loja.db "SQL;"Roda um comando SQL no banco e termina
sqlite3 loja.dbAbre o banco para você digitar (próxima aula)
SELECT sqlite_version();Em SQL: a versão do SQLite (também no editor do guia)

Exercícios

1. O nome do programa

Complete o comando que mostra a versão do SQLite instalada:

--version

2. O pacote do Debian

Complete o comando de instalação no Debian e no Ubuntu:

sudo apt install

3. A Ana instalou o SQLite pelo apt no Debian 13 e recebeu a versão 3.46.1, mas o guia usa a 3.50. O que fazer?

4. No Windows, qual arquivo do sqlite.org traz o programa sqlite3.exe?

5. sqlite3 lojaa.db "SELECT * FROM produtos;" respondeu no such table: produtos. O que aconteceu?

6. No macOS, depois de brew install sqlite, digitar sqlite3 ainda abre a versão antiga. Por quê?

Missão final: a ficha técnica do banco

Missão: monte, numa caixa só, a "ficha técnica" que você conferiria depois de instalar: primeiro a versão do SQLite (com a função de versão), depois a quantidade de produtos (já está aí), e por último a quantidade de clientes. São três comandos, cada um com o seu ponto e vírgula, e três resultados.

SELECT COUNT(*) FROM produtos;
SELECT sqlite_version();
SELECT COUNT(*) FROM produtos;
SELECT COUNT(*) FROM clientes;

Num computador com o loja.db, a mesma ficha técnica fica assim: sqlite3 --version e depois sqlite3 loja.db "SELECT COUNT(*) FROM clientes;". Os números têm de bater com os do editor: 45 produtos e 30 clientes.


Resumo

  • Instalar o SQLite é instalar o programa de terminal sqlite3, que abre arquivos de banco como o loja.db. O editor do guia não precisa de instalação nenhuma.
  • Confira primeiro: sqlite3 --version. O guia usa a 3.50.4.
  • Linux: sudo apt install sqlite3. A versão da distribuição pode ser mais antiga (Debian 13: 3.46.1); serve para quase tudo, e o zip do sqlite.org tem a mais nova.
  • Windows: winget install SQLite.SQLite, ou o zip sqlite-tools-win-x64-… do sqlite.org (e a pasta no Path).
  • macOS: já vem; para uma versão nova, brew install sqlite (keg-only: chame pelo caminho do Homebrew).
  • O banco da loja se cria com sqlite3 loja.db < aurora.sql (45.056 bytes), ou se baixa pronto (aurora.db, o mesmo arquivo). Para recomeçar do zero, apague o loja.db e rode de novo.
  • Nome de banco errado não dá "arquivo não encontrado": o sqlite3 cria um banco vazio, e aparece no such table.