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