Usando o MySQL no Python

Publicado por Perfil removido em 13/12/2005

[ Hits: 39.789 ]

 


Usando o MySQL no Python



Se você necessita de um banco de dados para salvar informações em seus programas do Python, os principais que podem ser acessados por ele são: MySQL, SQLite, PostgreSQL e Interbase/Firebird. Falaremos sobre o MySQL.

O Python oferece suporte ao MySQL usando o módulo MySQLdb:
Suporta o MySQL a partir da versão 3.22-4.1 e o Python a partir da versão 1.5.2-2.4.

Você pode baixar o source em:

http://prdownloads.sourceforge.net/.../MySQL-python-1.2.0.tar.gz?download

E, se trabalhar com Zope, pode pegar o ZMySQLDA, que é um adaptador para Zope, em:

http://prdownloads.sourceforge.net/.../ZMySQLDA-2.0.8.tar.gz?download

Ou se usar Debian ou uma distribuição baseada, baixe o MySQLdb usando:

# apt-get install python-mysqldb

E o ZMySQLDA:

# apt-get install zope-mysqlda NOTA: Se desejar trabalhar o ZMySQLDA no Zope, veja também o artigo do Fábio Rizzo:
No site da página (no Sourceforge) você também pode baixar o binário para Windows. Mas aqui vou apenas falar sobre seu uso no Python no sistema Linux.

Após ter tudo configurado, é só carregar o módulo no seu código, usando:

# código retirado de http://www.pythonbrasil.com.br/moin.cgi/BancoDeDadosSql
import MySQLdb # carregando o módulo
con = MySQLdb.connect('servidor', 'usuario', 'senha') # conecta no servidor
con.select_db('banco de dados') # seleciona o banco de dados
cursor = con.cursor() # é preciso ter um cursor para se trabalhar
cursor.execute('ALGUM SQL') # faz alguma query sql
# aqui você pode usar três maneira para pegar o resultado:
rs = cursor.fetchone() # pega uma linha;
rs = cursor.fetchall() # pega todas as linhas;
rs = cursor.dictfetchall() # pega todas as linhas, cada linha tem um dicionário com os nomes dos campos
print(rs[0]) # imprime o valor da primeira coluna

E assim você já pode usar um banco de dados em seus códigos Python. :-)

Outras dicas deste autor

Como mudar o tema no Gimp

Driver da nvidia em mais de um kernel no Slackware

Servidor DNS do google no linux

Backup no runlevel 0 (Slackware 11)

LFS - Linux From Scratch - Obtendo os fontes direto do lfslivecd

Leitura recomendada

Python + SQLite

Gravar campos com acentuação em MySQL via Python

Curso de Redes IPv6 com Material de Auto-Aprendizado Disponibilizado Livre

Converter vários vídeos em lote facilmente

Protegendo arquivo com comando chattr

  

Comentários
[1] Comentário enviado por matheusslima em 23/12/2005 - 03:50h

Interessante kra, simples, mas interessante :-)

[2] Comentário enviado por ciberman_gi em 19/05/2007 - 17:21h

Achei interesante mas vc poderia colocar algo como pegar o valor de um campo expecifico em uma tabela.

[3] Comentário enviado por edudobay em 23/06/2007 - 17:38h

Na verdade, o MySQLdb não suporta o método dictfetchall() (apesar de não estar notado na página de onde você tirou o código). Mas é fácil fazer uma implementação dele, em não mais que duas linhas.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts