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

Dúvida: MySQL + Python


Procarrera

Pergunta

Olá Pessoal!

1) Estou precisando fazer duas listas, vou chamar uma lista de LISTA_OBJETOS e a outra de LISTA_CASA.

Na LISTA_OBJETOS estarão todos os OBJETOS (sofá, cadeira, tv, ...) e na LISTA_CASA estarão listadas todas CASAS (Casa 1, Casa 2 , Casa 3, ...).

Para essa primeira etapa, pensei em criar um DB armazenando as duas listas em tabelas distintas, uma chamada TABELA_OBJETOS e a outra TABELA_CASAS.

- Na TABELA_OBJETOS terá apenas uma coluna com o nome dos OBJETOS e, claro, cada um ocupando uma linha na tabela.

- Já na TABELA_CASAS terão 3 colunas: Nome da Casa; Lista de Objetos; e Valor de CADA OBJETO.

Por exemplo, na Casa 1, tenho os OBJETOS SOFÁ, CADEIRA e TV. Preciso dizer que, para a Casa 1, o objeto Sofá tem VALOR = R$200,00; CADEIRA = R$50,00 e TV = R$1.000,00.

Na Casa 2, entretanto, os mesmos objetos podem receber valores diferentes (ex: Sofá = R$100,00 / Cadeira = R$20,00 / Tv = R$300,00).

2) O próximo passo seria criar um sistema de BUSCA, onde se possa inserir os OBJETOS desejados, e o sistema listará as Casas que possuam ao menos um destes Objetos, ordenando o resultado pelo somatório dos VALORES dos objetos pesquisados.

POR ENQUANTO PEÇO AJUDA PARA CONCLUIR A ETAPA 1......

Estou usando o Python 2.7 e o MySQL 5.5.24(através do WAMPSERVER no localhost)

Instalei o MySQL-python-1.2.3.win32-py2.7 para usar o Módulo MySQLdb

Tentei concluir um tutorial básico para inserir uma linha na tabela, mas não estou tendo sucesso, segue o código que estou rodando.

# Importa o modulo MySQL
import MySQLdb

# Pega a entrada do usuario
obj_nome = raw_input("Nome do Objeto:")
      
# Conecta Banco de Dados
db = MySQLdb.connect(host="localhost", user="root", passwd="",
db="hometeste")

# Cria um cursor
cursor = db.cursor()

# Executa o SQL
cursor.execute("INSERT INTO tabela_objetos VALUES ('%s');",
(obj_nome))

cursor.close()
db.close()
A mensagem de erro:
>>>
Nome do Objeto: cadeira

Traceback (most recent call last):
  File "C:/Python27/Meus Projetos/Tabela_Casas_MySQL.py", line 19, in <module>
    (obj_nome))
  File "C:\Python27\lib\site-packages\MySQLdb\cursors.py", line 174, in execute
    self.errorhandler(self, exc, value)
  File "C:\Python27\lib\site-packages\MySQLdb\connections.py", line 36, in defaulterrorhandler
    raise errorclass, errorvalue
ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'cadeira'')' at line 1")

OBS: Aparentemente o módulo foi bem instalado, pois obtive sucesso com o import MySQLdb direto no IDLE e também com script para retornar a versão do MySQL.

Desde já agradeço a atenção de todos!

Editado por Procarrera
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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,4k
×
×
  • Criar Novo...