Pular para o conteúdo

Python + SQLite

Dica publicada em Python / Banco de Dados
Aurelio Costa arcosta
Hits: 19.018 Categoria: Python Subcategoria: Banco de Dados
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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])
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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:
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
Nenhuma dica encontrada.

Usando o MySQL no Python

Gravar campos com acentuação em MySQL via Python

Try Python: Interpretador Python online

PyCharm no Debian 10 Buster

Referenciando linhas anteriores em um arquivo csv usando Pandas

#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

Entre na sua conta para comentar.