Ir para conteúdo
Fórum Script Brasil
  • 0

Mysql Com Python


isaikki

Pergunta

Pessoal, quero primeiramente agradecer a vocês que todas as dúvidas que eu tenho tido e postado aqui vocês me ajudaram bastante, mas agora venho com mais um problema:

Como eu postei no outro tópico, eu iria passar a aprender MySql, pois bem, estou aprendendo. Paralelamente eu li uma matéria de como trabalhar com MySql pelo Python, então eu pus mão na massa. O primeiro script que eu fiz foi para visualizar os dados do meu banco:

import MySQLdb

db=MySQLdb.connect(host='localhost',user='root',passwd='******',db='test')
cursor=db.cursor()
cursor.execute('select * from nomes')
result=cursor.fetchall()
for record in result:
    print record[0], '-->', record[1], '-->',record[2]
Funcionou como uma maravilha, consigo visualizar os dados e poderia com isso também trabalhar com eles, depois tentei fazer um script para incluir dados:
# -*- coding: cp1252 -*-
import MySQLdb

nom=raw_input('Digite o seu nome: ')
end=raw_input('Digite o seu endereço: ')
tel=raw_input('Digite o seu telefone: ')

db=MySQLdb.connect(host='localhost',user='root',passwd='******',db='test')
cursor=db.cursor()

cursor.execute('insert into nomes (nome,ende,tele) values(%s,%s,%s)',(nom,end,tel))

Esse simplesmente não funcionou, lê todas as variáveis, mas não inclui no banco de dados. Eis a configuração do MySql 5.0.41:

Developer Machine

Multifuncional Database

Decision Support (DSS)/OLAP

Enable TCP/IP Networking

Enable Strict Mode

Standard Character Set

Install As Windows Service: MySQL (Launch the MySQL Server automatically)

Enable root access from remote machines

Desde já agradeço. (Versão do meu python=2.4.3)

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Pior que pelo modo que você me deu não está dando erro nenhum, nem do jeito que eu tinha colocado. Quando eu coloco desse jeito:

cursor.execute("insert into nomes (nome,ende,tele) values('%s,%s,%s')"%(nom,end,tel))
aí dá o seguinte erro:
Traceback (most recent call last):
  File "C:\Python24\Programas\MySql02.py", line 11, in -toplevel-
    cursor.execute("insert into nomes (nome,ende,tele) values('%s,%s,%s')"%(nom,end,tel))
  File "C:\Python24\Lib\site-packages\MySQLdb\cursors.py", line 166, in execute
    self.errorhandler(self, exc, value)
  File "C:\Python24\Lib\site-packages\MySQLdb\connections.py", line 35, in defaulterrorhandler
    raise errorclass, errorvalue
OperationalError: (1136, "Column count doesn't match value count at row 1")

Será algum problema de instalação, imcompatibilidade ou alguma coisa desse tipo? Acho que comecei a aprender MySql com o pé esquerdo... (a minha meta é usar MySql com python...)

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,6k
×
×
  • Criar Novo...