Diego Santos

Vocês anseiam pelo dia em que homens serão homens e escreverão seus próprios devices drivers?

Trabalhando com Mysql em Python julho 27, 2008

Filed under: Python — diegosantos @ 11:37 pm
Tags: ,

Após alguns artigos falando sobre o básico da linguagem python, irei agora mostrar algo um pouco mais complexo e que será útil todas as vezes que precisarmos guardar os dados processados em nosso aplicativo em um banco de dados, nesse caso o Mysql.

Iremos precisar instalar um módulo “mysql-python, tente :

# yum -y install MySQL-python

Caso algo errado aconteça, tente utilizar o packageKit, se seu fedora for o Sulphur, digitando mysql-python.

Para Debian e derivados :

# apt-get install python-mysqldb

A interface python para mysql conhecida como MySQLdb é um módulo muito conhecido para a interação com banco de dados mysql em python. Após sua instalação vamos conhecer algumas funcões básicas para seu uso.

+ Conectar ao Servidor

pyCon = MySQLdb.connect(‘servidor’,’usuario’,’senha’)

+ Selecionando o Banco de Dados

pyCon.select_db(‘Banco de Dados’)

Para trabalharmos com o mysql em python precisamos criar um handle, uma espécie de cursor :

+ Criar ponteiro, cursor

pyCursor = pyCon.cursor()

+ Executar query SQL

pyCursor.execute(‘sql’);

Depois de termos executado uma query, podemos pegar seu valor de trê maneiras mais comuns e práticas :

+ Retorna uma linha apenas

pyResultOne = pyCursor.fetchone()

+ Retorna todas as linhas

pyResultAll = pyCursor.fetchall()

Podemos ainda retornar todas as linhas como um dicionario, tendo os nomes dos campos como indice :

pyResultDic = pyCursor.dicfetcall()

Agora uma classe em python para tratar o mysql :

arquivo : connect.py

#! /usr/bin/python

class connect:

def __init__(self, pyServer, pyUser, pyPass):

self.pyServer = pyServer

self.pyUser    = pyUser

self.pyPass    = pyPass

self.pyCon     =  MySQLdb(pyServer, pyUser, pyPass)

selft.Cursor    = selft.pyCon.cursor()

def execSql(self, sql):

self.pySql = self.pyCursor.execute(sql)

return self.pySql

def returnOne(self):

self.pyResultOne  = self.pyCursor.fetchone()

return self.pyResultOne

def returnAll(self):

self.pyReturnAll = self.pyCursor.fetchall()

return self.pyReturnAll

Anúncios
 

2 Responses to “Trabalhando com Mysql em Python”

  1. mateus Says:

    Tem erro no codigo.

  2. diegosantos Says:

    Valeu Mateus, os dois pontos foram corrigidos.

    Abraços


Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s