Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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 MySQLdbNeste 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](http://sourceforge.net/projects/mysql-python), e instale ele, é super simples ^^Bem, com o módulo instalado e carregado, precisamos criar o objetotry: 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 cursordbCursor = 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 :Pimport 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 blocodbCursor.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 tudodbCursor.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 assimimport 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 ^^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.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")print("-- Usuarios")
dbCursor.execute("select idusuario, nome from usuarios order by nome")
resultSet = dbCursor.fetchall()
for results in resultSet:
print(results[0], "--", results[1])
Olá gente.
Eu não consegui instalar o MySQL for Python.
Tentei de todo o jeito.
Alguém dá um auxílio?
>
Olá gente.
Eu não consegui instalar o MySQL for Python.
Tentei de todo o jeito.
Alguém dá um auxílio?
Se você usa o Python 2.6, dê uma olhada aqui:
Pessoas.
Ele dá uma erro.
vcvarssal.bat not found.
Que faço?
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 ")o MySQLdb esta instalado?
Cola o LOG de error aqui para eu dar uma olhada;
Excelente post, ajudou muito...já tinha o MySQLdb, mas tava apanhando aqui...vlw!!
:joia:
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
>
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 MySQLdbNeste 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 /applications/core/interface/imageproxy/imageproxy.php?img=http://forum.imasters.com.br/public/style_emoticons/default/tongue.gif&key=8d11c3c7c03c7a5a294e250694d100848a0423dc34ef2af8d774f49d1b969fde" alt="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")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 odbConnection.commit()
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.