sqlite3 em Python (Como funciona para desenvolvedores)
O módulo sqlite3 em Python oferece uma maneira de interagir com bancos de dados SQLite. Faz parte da Biblioteca Padrão do Python, portanto você não precisa instalar nada extra para usá-la. Vamos explorar suas funcionalidades e ver alguns exemplos de código. Mais adiante neste artigo, exploraremos o IronPDF, uma biblioteca de geração de PDFs desenvolvida pela Iron Software.
O SQLite é um banco de dados leve, baseado em disco, que não requer um processo de servidor de banco de dados separado. O módulo sqlite3 fornece um ambiente compatível com a interface SQL para interagir perfeitamente com um banco de dados existente ou recém-criado. O módulo implementa a especificação DB-API 2.0 descrita pela PEP 249.
Uso básico
Aqui está um exemplo simples e várias instruções SQL para você começar a usar o sqlite3 .
Conectando-se a um banco de dados
Primeiro, você precisará se conectar ao seu banco de dados SQLite. Caso o arquivo de banco de dados esteja ausente, ele será gerado:
import sqlite3
# Connect to the database (or create it if it doesn't exist)
conn = sqlite3.connect('example.db')
# Create a cursor object
cur = conn.cursor()
import sqlite3
# Connect to the database (or create it if it doesn't exist)
conn = sqlite3.connect('example.db')
# Create a cursor object
cur = conn.cursor()
Criando uma tabela
Utilize a instrução SQL CREATE TABLE para criar uma nova tabela de dados:
# Create a table using SQL statements
cur.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER
)
''')
# Create a table using SQL statements
cur.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER
)
''')
Inserindo dados
Eis como inserir dados na tabela do banco de dados:
# Insert data into the table
cur.execute('''
INSERT INTO users (name, age) VALUES (?, ?)
''', ('Alice', 30))
# Commit the transaction using the connection object
conn.commit()
# Insert data into the table
cur.execute('''
INSERT INTO users (name, age) VALUES (?, ?)
''', ('Alice', 30))
# Commit the transaction using the connection object
conn.commit()
Consultando dados
Você pode executar comandos SQL e obter resultados da tabela do banco de dados:
# Query the database
cur.execute('SELECT * FROM users')
# Fetch all results
rows = cur.fetchall()
# Print the results
for row in rows:
print(row)
# Query the database
cur.execute('SELECT * FROM users')
# Fetch all results
rows = cur.fetchall()
# Print the results
for row in rows:
print(row)
Atualizando dados
Para atualizar os dados existentes na tabela:
# Update data in the table
cur.execute('''
UPDATE users SET age = ? WHERE name = ?
''', (31, 'Alice'))
# Commit the transaction
conn.commit()
# Update data in the table
cur.execute('''
UPDATE users SET age = ? WHERE name = ?
''', (31, 'Alice'))
# Commit the transaction
conn.commit()
Exclusão de dados
Para excluir dados das linhas do banco de dados onde o nome é Alice:
# Delete data from the table
cur.execute('''
DELETE FROM users WHERE name = ?
''', ('Alice',))
# Commit the transaction
conn.commit()
# Delete data from the table
cur.execute('''
DELETE FROM users WHERE name = ?
''', ('Alice',))
# Commit the transaction
conn.commit()
Encerrando a conexão
Lembre-se de fechar o cursor e a conexão quando terminar:
# Close the cursor and connection
cur.close()
conn.close()
# Close the cursor and connection
cur.close()
conn.close()
Recursos avançados
Utilizando Gerenciadores de Contexto
Você pode usar gerenciadores de contexto para lidar com o fechamento automático da conexão:
with sqlite3.connect('example.db') as conn:
cur = conn.cursor()
cur.execute('SELECT * FROM users')
rows = cur.fetchall()
for row in rows:
print(row)
with sqlite3.connect('example.db') as conn:
cur = conn.cursor()
cur.execute('SELECT * FROM users')
rows = cur.fetchall()
for row in rows:
print(row)
Processamento de transações
O SQLite suporta transações, e você pode usar os comandos BEGIN, COMMIT e ROLLBACK para gerenciá-las:
try:
conn.execute('BEGIN')
cur.execute('INSERT INTO users (name, age) VALUES (?, ?)', ('Bob', 25))
conn.commit()
except sqlite3.Error as e:
conn.rollback()
print(f"An error occurred: {e}")
try:
conn.execute('BEGIN')
cur.execute('INSERT INTO users (name, age) VALUES (?, ?)', ('Bob', 25))
conn.commit()
except sqlite3.Error as e:
conn.rollback()
print(f"An error occurred: {e}")
Apresentando o IronPDF

IronPDF é uma poderosa biblioteca Python projetada para criar, editar e assinar PDFs usando HTML, CSS, imagens e JavaScript. Oferece desempenho de nível comercial com baixo consumo de memória. As principais características incluem:
Conversão de HTML para PDF:
Converter arquivos HTML, strings HTML e URLs em PDFs. Por exemplo, renderize uma página da web como um PDF usando o renderizador de PDF do Chrome.
Suporte multiplataforma:
Compatível com diversas plataformas .NET , incluindo .NET Core, .NET Standard e .NET Framework. É compatível com Windows, Linux e macOS.
Edição e assinatura:
Configure propriedades, adicione segurança com senhas e permissões e aplique assinaturas digitais aos seus PDFs.
Modelos e configurações de página:
Personalize PDFs com cabeçalhos, rodapés, números de página e margens ajustáveis. Suporta layouts responsivos e tamanhos de papel personalizados.
Conformidade com as normas:
É compatível com padrões PDF como PDF/A e PDF/UA, suporta codificação de caracteres UTF-8 e gerencia recursos como imagens, CSS e fontes.
Gere documentos PDF usando IronPDF e SQLite3 em Python.
import sqlite3
from ironpdf import *
# Apply your license key
License.LicenseKey = "key"
# Connect to the sqlite database file (or create it if it doesn't exist)
conn = sqlite3.connect('example.db')
# Create a cursor object for database connection
cur = conn.cursor()
# Create a table SQL command
cur.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER
)
''')
# Insert data into the table
cur.execute('''
INSERT INTO users (name, age) VALUES (?, ?)
''', ('IronUser1', 30))
cur.execute('''
INSERT INTO users (name, age) VALUES (?, ?)
''', ('IronUser2', 31))
cur.execute('''
INSERT INTO users (name, age) VALUES (?, ?)
''', ('IronUser3', 25))
cur.execute('''
INSERT INTO users (name, age) VALUES (?, ?)
''', ('IronUser4', 28))
# Commit the transaction using the connection object
conn.commit()
# Query the database
cur.execute('SELECT * FROM users')
# Fetch all results
rows = cur.fetchall()
# Print the results
for row in rows:
print(row)
# Update data in the table
cur.execute('''
UPDATE users SET age = ? WHERE name = ?
''', (31, 'Alice'))
# Commit the transaction
conn.commit()
# Delete data from the table
cur.execute('''
DELETE FROM users WHERE name = ?
''', ('IronUser1',))
# Commit the transaction
conn.commit()
# Initialize PDF renderer
renderer = ChromePdfRenderer()
# Create a PDF from an HTML string using Python
content = "<h1>Awesome Iron PDF with Sqlite3</h1>"
content += "<p>table data</p>"
for row in rows:
content += "<p>" + str(row) + "</p>"
# Close the cursor and connection
cur.close()
conn.close()
# Render the HTML as a PDF
pdf = renderer.RenderHtmlAsPdf(content)
# Export to a file
pdf.SaveAs("DemoSqlite3.pdf")
import sqlite3
from ironpdf import *
# Apply your license key
License.LicenseKey = "key"
# Connect to the sqlite database file (or create it if it doesn't exist)
conn = sqlite3.connect('example.db')
# Create a cursor object for database connection
cur = conn.cursor()
# Create a table SQL command
cur.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER
)
''')
# Insert data into the table
cur.execute('''
INSERT INTO users (name, age) VALUES (?, ?)
''', ('IronUser1', 30))
cur.execute('''
INSERT INTO users (name, age) VALUES (?, ?)
''', ('IronUser2', 31))
cur.execute('''
INSERT INTO users (name, age) VALUES (?, ?)
''', ('IronUser3', 25))
cur.execute('''
INSERT INTO users (name, age) VALUES (?, ?)
''', ('IronUser4', 28))
# Commit the transaction using the connection object
conn.commit()
# Query the database
cur.execute('SELECT * FROM users')
# Fetch all results
rows = cur.fetchall()
# Print the results
for row in rows:
print(row)
# Update data in the table
cur.execute('''
UPDATE users SET age = ? WHERE name = ?
''', (31, 'Alice'))
# Commit the transaction
conn.commit()
# Delete data from the table
cur.execute('''
DELETE FROM users WHERE name = ?
''', ('IronUser1',))
# Commit the transaction
conn.commit()
# Initialize PDF renderer
renderer = ChromePdfRenderer()
# Create a PDF from an HTML string using Python
content = "<h1>Awesome Iron PDF with Sqlite3</h1>"
content += "<p>table data</p>"
for row in rows:
content += "<p>" + str(row) + "</p>"
# Close the cursor and connection
cur.close()
conn.close()
# Render the HTML as a PDF
pdf = renderer.RenderHtmlAsPdf(content)
# Export to a file
pdf.SaveAs("DemoSqlite3.pdf")
Explicação do código
Este programa em Python demonstra como usar a biblioteca SQLite para criar um banco de dados, inserir dados nele, realizar consultas, atualizar registros, excluir registros e, finalmente, gerar um documento PDF usando o IronPDF.
-
Importando bibliotecas:
sqlite3: Módulo integrado do Python para trabalhar com bancos de dados SQLite.ironpdf: Importando componentes do IronPDF, que permite a geração de PDFs.
-
Conectando-se ao banco de dados:
- Estabelece uma conexão com um banco de dados SQLite chamado
example.db.
- Estabelece uma conexão com um banco de dados SQLite chamado
-
Criando uma tabela:
- Define uma tabela SQLite
userscom colunasid(INTEGER, PRIMARY KEY),name(TEXT, NOT NULL) eage(INTEGER).
- Define uma tabela SQLite
-
Inserindo dados:
- Insira várias linhas de dados na tabela
users.
- Insira várias linhas de dados na tabela
-
Confirmação de transações:
- Confirma as alterações no banco de dados para torná-las permanentes.
-
Consultando o banco de dados:
- Executa uma instrução SELECT para recuperar todas as linhas da tabela
users.
- Executa uma instrução SELECT para recuperar todas as linhas da tabela
-
Atualização de dados:
- Atualiza o
agede um usuário chamado 'Alice'.
- Atualiza o
-
Exclusão de dados:
- Exclui um usuário chamado 'IronUser1' da tabela
users.
- Exclui um usuário chamado 'IronUser1' da tabela
-
Geração de PDF:
- Utiliza o IronPDF (
ChromePdfRenderer) para criar um documento PDF a partir de conteúdo HTML. - Combina os dados do cabeçalho e da tabela (recuperados do banco de dados) no conteúdo HTML.
- Salva o documento PDF como
DemoSqlite3.pdf.
- Utiliza o IronPDF (
- Encerrando Conexões:
- Fecha o cursor (
cur) e a conexão (conn) para liberar recursos.
- Fecha o cursor (
Este script demonstra um fluxo de trabalho completo, desde a configuração do banco de dados até a manipulação de dados e a geração de PDFs, utilizando as bibliotecas SQLite3 e IronPDF do Python.
Saída


Licença IronPDF
O IronPDF funciona com uma chave de licença. O IronPDF for Python oferece uma chave de licença de avaliação gratuita para permitir que os usuários testem seus diversos recursos antes da compra.
Insira a chave de licença aqui:
import {IronPdfGlobalConfig, PdfDocument} from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";
import {IronPdfGlobalConfig, PdfDocument} from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";
Conclusão

O módulo sqlite3 é uma ferramenta poderosa e fácil de usar para trabalhar com bancos de dados SQLite em Python. Sua integração à Biblioteca Padrão do Python torna as operações de banco de dados, tanto simples quanto complexas, mais convenientes. O IronPDF oferece uma licença de avaliação. Depois disso, a licença começa em $799 e continua a partir desse valor.




