2012-05-05 6 views
1

sqlite3을 사용하여 이미 데이터베이스에있는 항목을 어떻게 업데이트합니까?Python - 데이터베이스 업데이트

이 나는 ​​시도했다 :

db_curs.execute("INSERT INTO `database` (cID) VALUES ('Updated')") 

그러나 이것은 물론, 새로운 항목을 만듭니다. 나는 (항목의) (줄 (?)) 번호를 얻을 수 있으며 새로운 항목을 만드는 대신 데이터베이스를 업데이트하는 명령은 무엇입니까?

편집 :

조금 더 넣어, 나는 다음을 얻을 파이썬 목록에 SQL 항목, 내가 마지막 항목에 숫자를 추가 할 수 있어야

(1, u'GGS-04', u'John', u'Smith', 9, u'0') 

를 변환 할 때 . 여기에 내가 가진 것이있다.

info = (1, u'GGS-04', u'John', u'Smith', 9, u'0') 

for result in info: 
    ln   = str(result[0]) 
    ggs   = str(result[1]) 
    first_name = str(result[2]) 
    last_name = str(result[3]) 
    dob   = str(result[4]) 
    spend  = str(result[5]) 
while True: 
    res = raw_input("Enter points to add: ") 
    try: 
     int(res) 
     break 
    except: 
     print "Please enter a number..." 
     pass 
spend = str(int(spend) + int(res)) 
db_curs.execute("UPDATE `" + db_name + "` (cID, first_name, last_name, date_of_birth, spend) VALUES ('" + srce + "', '" + first_name + "', '" + last_name + "', '" + dob + "' WHERE '" + spend + "')") 
db_connection.commit() 

누군가이 명령에 대한 올바른 구문을 설명해 주시겠습니까? "지출"열을 접두사 변수에서 모두 업데이트하지 않고 업데이트 할 수 있다면 정말 좋을 것입니다. 감사합니다 :)

+2

테이블에 열이 하나만 있습니까? 왜 그 값을''Updated ''로 설정하고 있습니까? –

+2

SQL UPDATE 문을 사용하십시오. 그게 당신에게 분명하지 않은 경우 SQL 튜토리얼을 권 해드립니다. – geoffspear

+0

고마워, 나는 '업데이트'진술과 함께 총을 가지고 있습니다. 아니요, 여러 열이 있는데, 저는 제가 시도한 것을 보여주었습니다. – abkai

답변

0

이 작동한다

db_curs.execute("UPDATE database SET spend =`" + spend + "` WHERE cID="+ cID) 

도 참조 SQL Update Syntax

, BTW "데이터베이스"는 데이터베이스의 테이블에 대한 유용한 이름이 아닙니다. "사용자"또는 "지출 시간"또는 sth에 대해 더 설명력이 있습니까?

+0

감사합니다. 팁을 주셔서 감사합니다. 나는 그것을 '고객'으로 바꾸고 있습니다. 고마워요! :) – abkai