Arquivo para mysql

Gravando e Lendo dados no Mysql com Python

Posted in Linux, Programação with tags , , , , , , , on 4 / junho / 2008 by medeubranco

Dando continuidade ao que comecei em Dos Sistemas em Access para o Linux e Python, MySQL e adeus, Access, vou mostrar para o Cléberson como ele pode conectar ao MySQL seu programa em Python.

Estou acreditando que o Cléberson já conseguiu instalar o MySQL, o Python e o python-mysqldb e já consegue executar alguma coisa em python.

python-mysqldb é um módulo para o python. Deve ser importado no seu programa com a linha abaixo:

import MySQLdb

Com o modulo importado, podemos então criar uma conexão:

conexao = MySQLdb.connect('endereço do servidor' , 'usuario do mysql' , 'senha')

É bom definir o banco de dados dentro do MySQL que você vai usar:

conexao.select_db('meubanco')

Simples assim. Três linhas e o Cléberson já tem uma conexão com o MySQL em Python. Na realidade a conexão mesmo depende só das duas primeiras linhas.

Pausa. Me adiantei demais.

Vamos criar um banco de verdade agora para podermos usá-lo com o Python.

Como o Cléberson já fez a lição de casa e já sabe usar algum cliente do MySQL, ele só precisa dar 2 comandinhos no cliente MySQL que ele prefere:

create database teste;

create table teste.pessoas (nome varchar(60), idade int);

Pronto. Está criado o banco teste, que contém a tabela pessoas. A tabela pessoas tem dois campos: nome e idade. O campo nome aceita strings (texto) com até 60 caracteres. O campo idade aceita números inteiros.

Ao Python, finalmente. Faremos dois programas: uma para gravar dados na tabela pessoas, outro para exibir estes dados no terminal. Cléberson, eu peço que tenhas paciência. Nosso programa não vai ter janelas ainda. Vai rodar no terminal.

Código do primeiro programa:

# importar o modulo para 'falar' com o MySQL
import MySQLdb

def gravarPessoa(cursor,nome, idade):
    sql="insert into pessoas values( '" + nome + "'," + idade + " ) "
    try:
        cursor.execute(sql)
    except MySQLdb.Warning, w:
        print w
    except MySQLdb.Error, e:
        print "Erro executando \n " + sql
        print e

# criando uma conexao mysql
# com o servidor na mesma maquina( localhost )
# usuario root do mysql
# e senha em branco
conexao=MySQLdb.connect( 'localhost' , 'root' , '' )

# selecionando o banco 'teste'
conexao.select_db( 'teste' )

#criando um 'cursor'
cursor=conexao.cursor()

sair=None
while sair<> 'S' :
    nome=raw_input( 'Digite o nome: ' )
    idade = raw_input('Digite a idade: ' )
    gravarPessoa( cursor , nome , idade )
    sair = raw_input( ' Digite S para sair ou tecle enter para continuar ' )

Agora salvaremos este arquivo como gravadados.py e no terminal exacutamos com python gravadados.py

O próximo artigo vai só mostrar como exibir os dados do MySQL.

Até lá.

Anúncios

Dos sistemas em access para o Linux

Posted in Linux, Programação with tags , , , , , , , , on 3 / junho / 2008 by medeubranco

Se tem um tipo de usuário que não deve ficar nada feliz com uma migração para plataformas abertas é o Cléberson, o estagiário mini-gênio do MS-Access.

O carinha aprendeu access no curso técnico e gostou do negócio, aprendeu a criar tabelas, consultas, formulários, aprendeu até a brincar um pouco com o VBA. O setor em que ele trabalha, apesar de dispor de equipamentos e infra-estrutura, vivia na idade das trevas em termos de TI, e ele percebeu ali oportunidade de mostrar serviço.

Em poucos dias apresentou à gerência, pronto, seu SIC – Sistema de Informatização das Coisas, e com ele conquistou fama e glória.

Agora os caras vêm querer tirar do Cléberson seu brinquedinho! Que papo de Linux é esse?! E esse tal de OpenOffice?!

Bem, Cléberson, o Linux realmente não tem o Ms-Access. Juro que a migração não foi planejada pra te sacanear, embora pareça. Os caras da TI não gostam de gente invadindo seu território, mas você só participa nessa história de migração como o ponto chave que foi negligenciado.

Mas não, Cléberson, você não deve ficar triste. Essas coisas maravilhosas que você faz com o MS-Access podem ser feitas no Linux com outras ferramentas.

Se você estiver disposto, vou lhe mostrar nos próximos artigos deste blog o MySQL, o python e pygtk. Garanto que você vai rapidinho fazer coisas tão legais quanto fazia com o seu velho amigo MS-Access.