Python + SQLite

Publicado por Aurelio Costa em 07/12/2006

[ Hits: 18.195 ]

 


Python + SQLite



Introdução


Se você precisa de um banco de dados com sintaxe SQL, mas não deseja ter o overhead de instalar um SGBD, o banco de dados SQLite é uma alternativa a ser levada em consideração.

O SQLite é um banco de dados para ser utilizado embutido com conexão através de bibliotecas próprias da linguagem.

Aqui mostraremos em poucas linhas como você pode sair por usando SQL para armazenar seus dados.

Instalando o módulo SQLite no Python


Como o sistema que foi usado para esse escrever essa dica foi o Ubuntu, usamos o "apt" para instalar a biblioteca sqlite no Python, já que o pacote não veio instalado por padrão:

# apt-get install python-sqlite

Vamos ao código:

import sqlite

# Cria a conexão como o banco, que no caso do sqlite
# corresponde a um arquivo, caso o arquivo não exista ele é criado
connection = sqlite.connect("demo.db")

# Cria o cursor para enviar comandos
cur = connection.cursor()

# A partir de agora já podemos executar nossas queries através
# da função execute do objeto cursor
# para criar uma tabela podemos usar os seguintes comando
# Definição da query
sql = "CREATE TABLE contatos(id NUMBER, nome VARCHAR, fone VARCHAR)"

# Execução da query
cur.execute(sql)

# Para inserir dados no nosso banco de dados usamos
sql = "INSERT INTO contatos(id,nome,fone) VALUES(1,'fulano', '999-9999')"
cur.execute(sql)
# A linha seguinte é usada para consolidar os dados na base
connection.commit()

# E finalmente para consultar os dados no nosso banco de dados, usamos
sql = "SELECT * FROM contatos"
cur.execute (sql)
result = cur.fetchall()

for contato in result:
print "Nome: %s\tFone: %s" %(contato[1],contato[2])

Conclusão


Essa dica é apenas o ponto de partida para aqueles que desejam usar o SQLite dentro de seus programas em Python. Através dele é possível aprender a sintaxe do SQL para construir desde programinhas simples para uma agenda até coisas mais complexas.

Para mais informações:
Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Usando o MySQL no Python

Gravar campos com acentuação em MySQL via Python

Resolvi meu problema de travamento do Squid (warning! your cache is running out of filedescriptors)

Alterando o gerenciador de sessão no Fedora 21

Como restaurar o tema padrão do Ubuntu

  

Comentários
[1] Comentário enviado por rickobranco em 07/01/2008 - 22:58h

Cara.... sem comentários.
Você mando muito bem.
Parabéns, vc me ajudou demais.
Obrigado, Obrigado, Obrigado, e Obrigado

[2] Comentário enviado por GabrielBAP em 09/01/2008 - 16:47h

Muito boa a dica...
gostei.

[3] Comentário enviado por leandro.miranda em 12/03/2008 - 16:50h

Eu nao consigo imprimir os dados, ja tentei de tudo, fiz e refiz diversas vezes rsrs.. tem alguma documentação adicional pra me ajudar a aprender python com sqlite?

for contato in result:
... print "Nome: %s\tFone: %s" %(contato[1],contato[2])
File "<stdin>", line 2
print "Nome: %s\tFone: %s" %(contato[1],contato[2])
^

[4] Comentário enviado por arcosta em 12/03/2008 - 17:18h

É q tem um espaço antes do print que não saiu ai no código.
Então fica assim:

for contato in result:
print "Nome: %s\tFone: %s" %(contato[1],contato[2])

[5] Comentário enviado por arcosta em 12/03/2008 - 17:19h

Também não saiu o espaço.
Enfim, é so colocar o espaço.
:)



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts