Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ScornInPC

Python + MySQL

Recommended Posts

e ae gente ^^do aqui a pedidos de milhares de pessoas =) \o/\o/\o/bem, vou tentar aqui, explicar mais ou menos, como trabalhar com python e MySQL beleza? ^^bem, possivelmente, voce estará usando python 2.5, e aqui no meu humilde desktop, não precisei instalar nada para rodar MySQL ^^, alem do servidor, é claro. Mas para quem precisar instalar o modulo, pode encontra-lo aqui http://sourceforge.net/projects/mysql-python.Bem, inicialmente, importaremos o modulo do MySQL

import MySQLdb
Neste ponto, se aparecer alguma coisa do tipo

ImportError: No module named MySQLdb

É por que voce não possui o módulo instalado, corra para http://sourceforge.net/projects/mysql-python, e instale ele, é super simples ^^Bem, com o módulo instalado e carregado, precisamos criar o objeto
try:	dbConnection = MySQLdb.connect("localhost", "root", "123456")except:	print "Erro ao conectar ao banco de dados"	exit()
Depois de criado o objeto, precisamos de um outro, que será nosso cursor
dbCursor = dbConnection.cursor()
Pronto, ja temos tudo na mão, agora é só usar. Vamos selecionar o nosso banco.
try:	dbConnection.select_db("pythondb")except:	dbCursor.execute("create database pythondb")	dbConnection.select_db("pythondb")	dbCursor.execute("create table usuarios (idusuario int not null auto_increment, nome varchar(15) not null, senha varchar(32) not null, primary key(idusuario));")
Agora, para fazer alguns cadastros fazermos o seguinte: importar o modulo md5 e criar um objeto, para podermos criptografar a senha do usuario :P
import md5md5 = md5.new()
md5.update("senha")dbCursor.execute("insert into usuarios (nome, senha) values ('usuario2', '" + md5.hexdigest() + "')")
Para listar todos os usuarios, utilizamos o seguinte bloco
dbCursor.execute("select idusuario, nome from usuarios order by nome")resultSet = dbCursor.fetchone()print resultSet[0], resultSet[1]
Como pode ver, o feltchone() retorna a primeira linha encontrada (isso eh uma mão na roda)Outro modo é o fetchall(), que retorna tudo
dbCursor.execute("select idusuario, nome from usuarios order by nome")resultSet = dbCursor.fetchall()for results in resultSet:	print results[0], results[1]
bem, é isso ai, facil não?o arquivo completo fica assim
import MySQLdbimport md5try:	dbConnection = MySQLdb.connect("localhost", "root", "123456")except:	print "Erro ao conectar ao banco de dados"	exit()	dbCursor = dbConnection.cursor()try:	dbConnection.select_db("pythondb")except:	dbCursor.execute("create database pythondb")	dbConnection.select_db("pythondb")	dbCursor.execute("create table usuarios (idusuario int not null auto_increment, nome varchar(15) not null, senha varchar(32) not null, primary key(idusuario));")md5 = md5.new()md5.update("123456")dbCursor.execute("insert into usuarios (nome, senha) values ('usuario1', '" + md5.hexdigest() + "')")md5.update("abcdef")dbCursor.execute("insert into usuarios (nome, senha) values ('usuario2', '" + md5.hexdigest() + "')")md5.update("123abc")dbCursor.execute("insert into usuarios (nome, senha) values ('usuario3', '" + md5.hexdigest() + "')")dbCursor.execute("select nome from usuarios order by idusuario")resultSet = dbCursor.fetchone()print "-- O nome do primeiro usuario registrado e", resultSet[0]print "-- Usuarios"dbCursor.execute("select idusuario, nome from usuarios order by nome")resultSet = dbCursor.fetchall()for results in resultSet:	print results[0], "--", results[1]
salve como mysql_teste.py, e rode em um terminal (cmd): python mysql_teste.py[]'s ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

 

Cara to sem palavras.

 

parece que tudo o que eu preciso você já postou aqui, você esta antecipando minhas perguntas né?

hahahhaha

 

por acaso você não vai ensinar a usar PyGTK agora não vai?

 

Mais uma vez, PARABÉNS.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Python3 code(não testado):

/*Comentarios adicionados para a felicidade de nosso amiguinho Tarantula*/
import MySQLdb
import hashlib

try:
	dbConnection = MySQLdb.connect("localhost", "root", "123456")
except:
	print("Erro ao conectar ao banco de dados")
	exit(1)
	
dbCursor = dbConnection.cursor()

try:
	dbConnection.select_db("pythondb")
except:
	dbCursor.execute("create database pythondb")
	dbConnection.select_db("pythondb")
	dbCursor.execute("create table usuarios (idusuario int not null auto_increment, nome varchar(15) not null, senha char(32) not null, primary key(idusuario));")

hashHolder = hashlib.md5(); /*recomendo outro algoritmo de hash mais forte
ex: hashHolder = hashlib.sha256()*/
/*
	[hash.]update(self, valor)
	Adiciona ao final da string do parametro de self contendo a string passada para o construtor a string referenciada por valor.
*/ 
hashHolder.update(b"123456")
/*Se for executar uma query com "dados vindos dinamicamente", ao menos escapar o caracter ' e o caracter \ (ou deixar o trabalho para o db [explicitamente,ele não é mágico])*/
dbCursor.execute("insert into usuarios (nome, senha) values ('usuario1', '" + hashHolder.hexdigest() + "')")
hashHolder.update(b"abcdef") /*"123456" + "abcdef"*/
dbCursor.execute("insert into usuarios (nome, senha) values ('usuario2', '" + hashHolder.hexdigest() + "')")
hashHolder.update(b"123abc")
dbCursor.execute("insert into usuarios (nome, senha) values ('usuario3', '" + hashHolder.hexdigest() + "')")

dbCursor.execute("select nome from usuarios order by idusuario")
resultSet = dbCursor.fetchone()
print("-- O nome do primeiro usuario registrado eh:", resultSet[0])

print("-- Usuarios")
dbCursor.execute("select idusuario, nome from usuarios order by nome")
resultSet = dbCursor.fetchall()
for results in resultSet:
	print(results[0], "--", results[1])

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá gente.

 

Eu não consegui instalar o MySQL for Python.

 

Tentei de todo o jeito.

 

Alguém dá um auxílio?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoas.

Ele dá uma erro.

 

vcvarssal.bat not found.

 

Que faço?

Compartilhar este post


Link para o post
Compartilhar em outros sites

caso a consulta precise de mtas linhas pra sem manter organizada e tambem use variaveis (results no caso), segue o exemplo

 

	dbCursor.execute("SELECT right('" + results + "',6) ref, b.municipio,b.bairro, count(*) qtde_clientes, sum(total_faturado-cota_parcelamento) faturado  " \
	+ "FROM cliente_bairro b , faturamento." + results + " f "\
	+ "where f.lote between 1 and 20 " \
	+ "and tipo_faturado <> 'A' " \
	+ "and f.numero_cliente not in (select numero_cliente from ampla.clientes_governo) " \
	+ "and f.numero_cliente not in (select numero_cliente from corte_religa.area_risco) " \
	+ "and f.numero_cliente not in (select numero_cliente from corte_religa.area_risco_trabalhavel) " \
	+ "and b.numero_cliente = f.numero_cliente " \
	+ "and f.classe < 8 " \
	+ "group by b.municipio,b.bairro ")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gente não sei se aqui é um bom lugar para fazer essa pergunta, é que eu quero fazer um webcrawler em Python e vou armazenar os resultados no banco de dados MySQL, mas eu fiz o download do MySQLdb para Python 2.6 mas eu não consigo importa-lo, pois dá um erro dizendo: DLL load failed: Não foi possível encontrar o módulo especificado. (erro na importação do modulo _mysql)

O meu sistema operacional é windows 7, e se algum puder me ajuda ficarei grato! meu email é Nilson1500@hotmail.com

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

e ae gente ^^

 

do aqui a pedidos de milhares de pessoas =) \o/\o/\o/

 

bem, vou tentar aqui, explicar mais ou menos, como trabalhar com python e MySQL beleza? ^^

 

bem, possivelmente, voce estará usando python 2.5, e aqui no meu humilde desktop, não precisei instalar nada para rodar MySQL ^^, alem do servidor, é claro. Mas para quem precisar instalar o modulo, pode encontra-lo aqui http://sourceforge.net/projects/mysql-python.

 

Bem, inicialmente, importaremos o modulo do MySQL

 

 

import MySQLdb
Neste ponto, se aparecer alguma coisa do tipo

 

 

 

É por que voce não possui o módulo instalado, corra para http://sourceforge.net/projects/mysql-python, e instale ele, é super simples ^^

 

Bem, com o módulo instalado e carregado, precisamos criar o objeto

try:
	dbConnection = MySQLdb.connect("localhost", "root", "123456")
except:
	print "Erro ao conectar ao banco de dados"
	exit()
Depois de criado o objeto, precisamos de um outro, que será nosso cursor

dbCursor = dbConnection.cursor()
Pronto, ja temos tudo na mão, agora é só usar. Vamos selecionar o nosso banco.

try:
	dbConnection.select_db("pythondb")
except:
	dbCursor.execute("create database pythondb")
	dbConnection.select_db("pythondb")
	dbCursor.execute("create table usuarios (idusuario int not null auto_increment, nome varchar(15) not null, senha varchar(32) not null, primary key(idusuario));")
Agora, para fazer alguns cadastros fazermos o seguinte: importar o modulo md5 e criar um objeto, para podermos criptografar a senha do usuario tongue.gif

import md5
md5 = md5.new()
md5.update("senha")
dbCursor.execute("insert into usuarios (nome, senha) values ('usuario2', '" + md5.hexdigest() + "')")
Para listar todos os usuarios, utilizamos o seguinte bloco

dbCursor.execute("select idusuario, nome from usuarios order by nome")
resultSet = dbCursor.fetchone()
print resultSet[0], resultSet[1]
Como pode ver, o feltchone() retorna a primeira linha encontrada (isso eh uma mão na roda)

Outro modo é o fetchall(), que retorna tudo

dbCursor.execute("select idusuario, nome from usuarios order by nome")
resultSet = dbCursor.fetchall()
for results in resultSet:
	print results[0], results[1]
bem, é isso ai, facil não?

 

o arquivo completo fica assim

import MySQLdb
import md5

try:
	dbConnection = MySQLdb.connect("localhost", "root", "123456")
except:
	print "Erro ao conectar ao banco de dados"
	exit()
	
dbCursor = dbConnection.cursor()

try:
	dbConnection.select_db("pythondb")
except:
	dbCursor.execute("create database pythondb")
	dbConnection.select_db("pythondb")
	dbCursor.execute("create table usuarios (idusuario int not null auto_increment, nome varchar(15) not null, senha varchar(32) not null, primary key(idusuario));")

md5 = md5.new()

md5.update("123456")
dbCursor.execute("insert into usuarios (nome, senha) values ('usuario1', '" + md5.hexdigest() + "')")
md5.update("abcdef")
dbCursor.execute("insert into usuarios (nome, senha) values ('usuario2', '" + md5.hexdigest() + "')")
md5.update("123abc")
dbCursor.execute("insert into usuarios (nome, senha) values ('usuario3', '" + md5.hexdigest() + "')")

dbCursor.execute("select nome from usuarios order by idusuario")
resultSet = dbCursor.fetchone()
print "-- O nome do primeiro usuario registrado e", resultSet[0]

print "-- Usuarios"
dbCursor.execute("select idusuario, nome from usuarios order by nome")
resultSet = dbCursor.fetchall()
for results in resultSet:
	print results[0], "--", results[1]
salve como mysql_teste.py, e rode em um terminal (cmd): python mysql_teste.py

 

 

[]'s ^^

 

 

Amigo nao sei se aconteceu com alguem, mas comigo os comandos em SQL su funcionaram apos o
dbConnection.commit()

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.