Conexão e criação de tabelas
Abra um banco de dados e defina o esquema
Conexão e criação de tabelas é uma aula grátis de Python Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Python Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Python Academy inclui 4 aulas no total.
O que é sqlite3?
O Python inclui o módulo sqlite3 em sua biblioteca padrão. Ele permite trabalhar com o SQLite, um banco de dados SQL leve, baseado em arquivos e que não precisa de um servidor separado.
- Não requer instalação
- O banco de dados inteiro fica em um único arquivo
- Perfeito para protótipos, testes e aplicativos pequenos
import sqlite3
print(sqlite3.version)Conectando-se a um banco de dados
Use sqlite3.connect() para abrir um banco de dados. Se o arquivo não existir, o SQLite o criará.
Passar ':memory:' cria um banco de dados temporário na memória, que desaparece quando a conexão é fechada.
import sqlite3
conn = sqlite3.connect(':memory:')
print('Connected:', conn)
conn.close()O objeto Cursor
Para executar SQL, você precisa de um cursor. Chame conn.cursor() para obter um e, em seguida, use cursor.execute() para enviar instruções SQL.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
print('Cursor ready:', cur)
conn.close()Criando uma tabela
Defina um esquema com CREATE TABLE. Cada coluna precisa de um nome e de um tipo, como INTEGER, TEXT ou REAL.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER, name TEXT, age INTEGER)')
print('Table created')
conn.close()Chaves primárias
Uma chave primária identifica exclusivamente cada linha. Declarar INTEGER PRIMARY KEY faz com que o SQLite incremente o valor automaticamente para você.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE books (id INTEGER PRIMARY KEY, title TEXT)')
print('books table ready')
conn.close()IF NOT EXISTS
Executar CREATE TABLE duas vezes gera um erro. Adicione IF NOT EXISTS para que a instrução possa ser executada repetidamente com segurança.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
sql = 'CREATE TABLE IF NOT EXISTS notes (id INTEGER PRIMARY KEY, body TEXT)'
cur.execute(sql)
cur.execute(sql)
print('No error on second run')
conn.close()Restrições de colunas
As restrições impõem regras aos dados no nível do banco de dados.
NOT NULLexige um valorUNIQUEimpede duplicatasDEFAULTfornece um valor substituto
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE accounts (id INTEGER PRIMARY KEY, email TEXT NOT NULL UNIQUE, active INTEGER DEFAULT 1)')
print('accounts table with constraints')
conn.close()Inspecionando o esquema
O SQLite armazena informações do esquema em sqlite_master. Consulte-o para listar suas tabelas.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)')
cur.execute("SELECT name FROM sqlite_master WHERE type='table'")
print(cur.fetchall())
conn.close()Salvando em um arquivo
Para manter os dados, passe um nome de arquivo para connect(). O banco de dados continuará existindo depois que o programa terminar.
Você deve chamar conn.commit() para gravar as alterações no disco.
import sqlite3
conn = sqlite3.connect('app.db')
cur = conn.cursor()
cur.execute('CREATE TABLE IF NOT EXISTS items (id INTEGER PRIMARY KEY, name TEXT)')
conn.commit()
print('Saved to app.db')
conn.close()Excluindo uma tabela
Remova uma tabela com DROP TABLE. Use IF EXISTS para evitar erros quando ela já tiver sido removida.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE temp (id INTEGER)')
cur.execute('DROP TABLE IF EXISTS temp')
print('Dropped temp table')
conn.close()Sempre feche a conexão
As conexões abertas mantêm identificadores de arquivo ocupados. Sempre feche-as com conn.close() quando terminar ou use um bloco with para fazer a limpeza automaticamente.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE t (id INTEGER)')
conn.close()
print('Connection closed cleanly')Verificação rápida
Teste sua compreensão sobre a criação de tabelas.
Recapitulação
Você aprendeu os fundamentos de sqlite3.
connect()abre ou cria um arquivo de banco de dadoscursor()fornece um objeto para executar SQLCREATE TABLEdefine o esquema com tipos e restriçõescommit()mantém as alterações eclose()libera a conexão
Em seguida, você inserirá e lerá linhas.
Perguntas Frequentes
A aula “Conexão e criação de tabelas” é grátis?
Sim — o texto completo de “Conexão e criação de tabelas” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Python Academy, atualize para CoddyKit PRO. O curso de Python Academy inclui 4 aulas no total.
O que vou aprender em “Conexão e criação de tabelas”?
Abra um banco de dados e defina o esquema Você pratica Python Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Python Academy?
Nenhuma experiência prévia é necessária. Python Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Conexão e criação de tabelas”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Python Academy?
Sim. Cada aula de Python Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Conexão e criação de tabelas
- Inserir, selecionar, atualizar e excluir
- Consultas parametrizadas
- Transações e gerenciadores de contexto