Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Siamo tornati nel parco tecnologico di Trieste per il kick-off del programma che mette a disposizione di cinque startup le infrastrutture di ricerca, dal sincrotrone Elettra ai laboratori di genomica e HPC. Roberto Pillon racconta il modello e la visione
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo
HP OMEN MAX 16-ak0001nl combina RTX 5080 Laptop e Ryzen AI 9 HX 375 in un desktop replacement potente e ben raffreddato, con display 240 Hz e dotazione completa. Autonomia limitata e calibrazione non perfetta frenano l'entusiasmo, ma a 2.609 euro è tra le proposte più interessanti della categoria.
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Google ha appena rinnovato la sua celebre serie A con il Pixel 10a, lo smartphone della serie più conveniente se consideriamo il rapporto tra costo e prestazioni. Con il chip Tensor G4, un design raffinato soprattutto sul retro e l'integrazione profonda di Gemini, il colosso di Mountain View promette un'esperienza premium a un prezzo accessibile. E il retro non ha nessuno scalino
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-04-2009, 10:18   #1
Raiki
Member
 
Iscritto dal: Dec 2008
Messaggi: 68
[Python]Inserimento dati in db MySql

Giorno,
ho deciso di provare python per poter utilizzare MySQL come db.Di sotto c'e' il codice che ho scritto.Questo in teoria dovrebbe connettersi al db e inserire dei dati,ma non lo fa'.

Codice:
#!/usr/bin/env python
#---------------------------------------------------------------------------------------#-----
import time
import MySQLdb
conn = MySQLdb.connect(host='localhost',user='xxxxxxx',passwd='xxxxxxxxxx',db='database')
cur = conn.cursor()
#---------------------------------------------------------------------------------------#-----
try:
   cur.execute('USE db')
   cur.execute('INSERT INTO table(campo1,campo2,campo3) VALUES(%d,%s,%s)',('0123456789','Mario','Rossi'))
except:
    print 'ERRORE NELL INSERIMENTO DEI DATI'
    time.sleep(1)
    conn.close()
#---------------------------------------------------------------------------------------#-----
conn.close()
Se provo ad aprire il database e provo a eseguire questa query

Codice:
SELECT * FROM table
Mi dice che la tabella e' vuota.Dove sbaglio?
__________________

Ultima modifica di Raiki : 12-04-2009 alle 10:23.
Raiki è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2009, 11:48   #2
stdecden
Member
 
L'Avatar di stdecden
 
Iscritto dal: Apr 2007
Messaggi: 263
prova a scrivere così

Codice:
'INSERT INTO table(campo1,campo2,campo3) VALUES(%d,"%s","%s");'
stdecden è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2009, 11:56   #3
Raiki
Member
 
Iscritto dal: Dec 2008
Messaggi: 68
Modificando il codice come dici tu mi parte l'except
__________________
Raiki è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2009, 12:01   #4
stdecden
Member
 
L'Avatar di stdecden
 
Iscritto dal: Apr 2007
Messaggi: 263
Premetto che non mi intendo molto di python ma se inserisci testo non dovresti utilizzare gli apici doppi all'inizio e alla fine come in questo esempio che ho trovato su di una pagina web:

Quote:
mysql> INSERT INTO employee_data
-> (f_name, l_name, title, age, yos, salary, perks, email)
-> values
-> ("Manish", "Sharma", "CEO", 28, 4, 200000,
-> 50000, "[email protected]");
Query OK, 1 row affected (0.00 sec)

Ultima modifica di stdecden : 12-04-2009 alle 13:37.
stdecden è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2009, 16:23   #5
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da Raiki Guarda i messaggi
Giorno,
ho deciso di provare python per poter utilizzare MySQL come db.Di sotto c'e' il codice che ho scritto.Questo in teoria dovrebbe connettersi al db e inserire dei dati,ma non lo fa'.

Codice:
#!/usr/bin/env python
#---------------------------------------------------------------------------------------#-----
import time
import MySQLdb
conn = MySQLdb.connect(host='localhost',user='xxxxxxx',passwd='xxxxxxxxxx',db='database')
cur = conn.cursor()
#---------------------------------------------------------------------------------------#-----
try:
   cur.execute('USE db')
   cur.execute('INSERT INTO table(campo1,campo2,campo3) VALUES(%d,%s,%s)',('0123456789','Mario','Rossi'))
except:
    print 'ERRORE NELL INSERIMENTO DEI DATI'
    time.sleep(1)
    conn.close()
#---------------------------------------------------------------------------------------#-----
conn.close()
Se provo ad aprire il database e provo a eseguire questa query

Codice:
SELECT * FROM table
Mi dice che la tabella e' vuota.Dove sbaglio?
Mi sembra tutto a posto. Personalmente non uso l'istruzione USE db, perché già nella connect specifico quale db utilizzare.

Poi nelle query uso soltanto %s per indicare i valori.

Così mi funziona tutto (da quattro anni e mezzo ormai).
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2009, 10:35   #6
Raiki
Member
 
Iscritto dal: Dec 2008
Messaggi: 68
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Mi sembra tutto a posto. Personalmente non uso l'istruzione USE db, perché già nella connect specifico quale db utilizzare.

Poi nelle query uso soltanto %s per indicare i valori.

Infatti io in quel codice non riesco proprio a capire dove sbaglio.USE db lo uso per sicurezza personale .Nel codice originale anche io avevo messo tutte %s ma pensavo che era quello l'errore e l'ho rimpiazzato con %d.Invece non c'entra un cavolo,mi sono illuso da bravo niubbo
__________________
Raiki è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Deep Tech Revolution: così Area Science Park apre i laboratori alle startup Deep Tech Revolution: così Area Science P...
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo HP OMEN MAX 16 con RTX 5080: potenza da desktop ...
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026 6G, da rete che trasporta dati a rete intelligen...
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso CHUWI CoreBook Air alla prova: design premium, b...
Il nuovo MacBook Neo ha una memoria SSD ...
Xbox Project Helix, le prime specifiche ...
Annunci pubblicitari sulla TV quando cam...
Prezzi aumentati del 50% durante la nott...
Sconti studiati per singolo utente: Sony...
Addio alla Kia Niro EV, il crossover sar...
Apple crede nel suo iPhone Fold: la prod...
Fortnite, un nuovo listino per i pacchet...
Ecco i nuovi Sonos Play ed Era 100 SL: d...
Razer svela il futuro del gaming potenzi...
Tre robot Narwal in offerta: pulizia aut...
Gracenote denuncia OpenAI: ChatGPT addes...
Microsoft AI Tour Milano: dall'efficienz...
Asus ExpertBook Ultra: Intel Core Ultra ...
Intel presenta i processori desktop Core...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:05.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v