Pour mettre-à-jour la valeur d'une colonne avec sqlite il faut utiliser la commande Sqlite: UPDATE:
UPDATE {NomTable} SET {NomColonne} = {Valeur} WHERE {NomColonne} = {Valeur}
En reprenant l'exemple de Créer une base de données et une table avec sqlite3 de python, voici un exemple simple sur comment modifier la valeur d'une colonne donnée avec python et SQlite3:
import sqlite3
CreateDataBase = sqlite3.connect(':memory:')
QueryCurs = CreateDataBase.cursor()
def CreateTable():
QueryCurs.execute('''CREATE TABLE Clients
(id INTEGER PRIMARY KEY, Nom TEXT,Rue TEXT,Ville TEXT, Region TEXT, Note REAL)''')
def AddEntry(Nom,Rue,Ville,Region,Note):
QueryCurs.execute('''INSERT INTO Clients (Nom,Rue,Ville,Region,Note)
VALUES (?,?,?,?,?)''',(Nom,Rue,Ville,Region,Note))
CreateTable()
AddEntry('Toto','Rue 1','Lille','Nord',105.2)
AddEntry('Bill','Rue 2','Fourmies','Nord',105.2)
AddEntry('Ben','Rue 3','Lille','Nord',105.2)
AddEntry('Paul','Rue 4','Lille','Nord',105.2)
CreateDataBase.commit()
QueryCurs.execute('SELECT * FROM Clients')
for i in QueryCurs:
print "\n"
for j in i:
print j
#---------- Update Value ----------#
QueryCurs.execute("UPDATE Clients SET Ville = 'Arras' WHERE ID = 4")
QueryCurs.execute("UPDATE Clients SET Ville = ? WHERE ID = 2", ('Lens',))
QueryCurs.execute('SELECT * FROM Clients')
for i in QueryCurs:
print "\n"
for j in i:
print j
QueryCurs.close()
Table avant
1
Toto
Rue 1
Lille
Nord
105.2
2
Bill
Rue 2
Fourmies
Nord
105.2
3
Ben
Rue 3
Lille
Nord
105.2
4
Paul
Rue 4
Lille
Nord
105.2
Table apres:
1
Toto
Rue 1
Lille
Nord
105.2
2
Bill
Rue 2
Lens
Nord
105.2
3
Ben
Rue 3
Lille
Nord
105.2
4
Paul
Rue 4
Arras
Nord
105.2
Ici on a simplement remplacé Lille par Arras pour ID=4 et Fourmies par Lens pour ID=2.
Recherches associées
Liens | Site |
---|---|
SQLite - UPDATE Query | tutorialspoint |
SQL As Understood By SQLite | sqlite doc |
Inserting, updating and deleting data in SQLite | zetcode |
SQL UPDATE Statement | w3schools |
UPDATE syntax in SQLite [closed] | stackoverflow |