Estou iniciando em Python e este é meu primeiro post aqui.... não tenho muita experiência com Python e nem com MySQL... Há um tempo atrás dei a sorte, ou destino, de estudar um pouco de C, o que me deu base para encarar o estudo das diversas lingaugens por ai....... MySQL eu não conhecia muito e estou começando a mexer agora, não necessito nada muito complexo dela (eu acho), então não estou me preocupando muito com detalhes.
Python pelo pouco que li, e aprendi, não está me parecendo muito dificil, estou gostando bastante da linguagem e digo, com certeza, que saber um pouco de C me deu uma excelente base para python.
Sem mais delongas, vou expor meu problema:
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.
Pergunta
Procarrera
Olá Pessoal!
Estou iniciando em Python e este é meu primeiro post aqui.... não tenho muita experiência com Python e nem com MySQL... Há um tempo atrás dei a sorte, ou destino, de estudar um pouco de C, o que me deu base para encarar o estudo das diversas lingaugens por ai....... MySQL eu não conhecia muito e estou começando a mexer agora, não necessito nada muito complexo dela (eu acho), então não estou me preocupando muito com detalhes.
Python pelo pouco que li, e aprendi, não está me parecendo muito dificil, estou gostando bastante da linguagem e digo, com certeza, que saber um pouco de C me deu uma excelente base para python.
Sem mais delongas, vou expor meu problema:
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.
- 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.
A mensagem de erro: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! ;)
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
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.