ScornInPC 1 Report post Posted October 16, 2007 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 tipoImportError: 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 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 ^^ Share this post Link to post Share on other sites
RickinPC 0 Report post Posted November 21, 2007 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. Share this post Link to post Share on other sites
eibon 2 Report post Posted May 26, 2009 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]) Share this post Link to post Share on other sites
Heur 0 Report post Posted April 13, 2010 Olá gente. Eu não consegui instalar o MySQL for Python. Tentei de todo o jeito. Alguém dá um auxílio? Share this post Link to post Share on other sites
Electron 0 Report post Posted June 21, 2010 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: http://www.thescotties.com/mysql-python/test/ Share this post Link to post Share on other sites
Heur 0 Report post Posted July 29, 2010 Pessoas. Ele dá uma erro. vcvarssal.bat not found. Que faço? Share this post Link to post Share on other sites
giesta 29 Report post Posted August 29, 2010 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 ") Share this post Link to post Share on other sites
Avelino.US 1 Report post Posted September 13, 2010 o MySQLdb esta instalado? Cola o LOG de error aqui para eu dar uma olhada; Share this post Link to post Share on other sites
José Ferreira Ntt 0 Report post Posted September 3, 2011 Excelente post, ajudou muito...já tinha o MySQLdb, mas tava apanhando aqui...vlw!! :joia: Share this post Link to post Share on other sites
Nilson15 6 Report post Posted June 27, 2012 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 Share this post Link to post Share on other sites
koga021 0 Report post Posted February 20, 2013 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 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 odbConnection.commit() Share this post Link to post Share on other sites