Usando o MySQL no Python

Publicado por Perfil removido em 13/12/2005

[ Hits: 38.733 ]

 


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

DNS no Slackware 14.1 - Configuração sem gambiarras

Como criar um pacote DEB com o debreate

VIA + SIS = VESA

Lazarus - Ressuscitando dados do Firefox

Interface de desenvolvimento Open Source

Leitura recomendada

Python + SQLite

Gravar campos com acentuação em MySQL via Python

Instalar placa de rede do Dell PowerEdge r410 no Debian 6 (Squeeze) amd64 ou i386

Planilha para Controle de Ponto Eletrônico

Imagens .vmdk (VMWare) - modo simplificado

  

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
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts