Update

Kalau kalian sudah bisa menambahkan data ke dalam tabel dengan insert, kalian juga bisa belajar cara untuk mengubah data di dalam tabel. Untuk mengubah data di dalam tabel SQL, kalian bisa menggunakan "Update". Sintaks yang bisa kalian gunakan adalah sebagai berikut.

  • Update nama_tabel Set nama_kolom1='nilai kolom 1' Where syarat
  • Update nama_tabel Set nama_kolom2='nilai kolom 2' Where syarat

Contoh Query :

  • Update siswa Set alamat='Antartika' WHERE id='1'

Untuk mengubah satu data di dalam tabel, data tersebut perlu kolom yang isinya unik. Isi kolom itu digunakan untuk menandai data yang akan diubah. Semua data yang memenuhi syarat akan diubah

//install librarynya kalau belum ada
#include <iostream>
#include <sqlite3.h>

char *err;
typedef char stringku[30];

int callback(void *notused, int jkolom, char **dataku, char **kolom){
   for(int i=0;i<jkolom;i++)printf("%s = %s\n", kolom[i], dataku[i]);
   printf("\n");
   return 0;
}

void isi_database(sqlite3 *conn){
    char query[512];
    static stringku data[3][2]={{"Geri", "Saribumi"}, {"Panji", "Wonokarto"}, {"Tomi", "Gading"}};
	     
    sqlite3_exec(conn, "Create Table siswa(id INTEGER Primary Key, nama Text, alamat Text);", 0, 0, &err); 
    //tambahkan data
    for(int i=0;i<3;i++){
        sprintf(query, "INSERT INTO siswa(id, nama, alamat) VALUES('%d','%s', '%s')", i, data[i][0], data[i][1]);
        sqlite3_exec(conn, query, 0, 0, &err);
    }
}

int main(){
    int res=0;
    char select[]="SELECT * FROM siswa";
    sqlite3 *conn=NULL;
    sqlite3_stmt *stmt=NULL;
    sqlite3_open("databaseku.dat", &conn);
	
    //hapus tabel
    sqlite3_exec(conn, "Drop Table siswa", 0, 0, &err); 
    //buat tabel baru
    isi_database(conn);
	
    const unsigned char *isi;
	
    //gunakan query select
    sqlite3_exec(conn, select, callback, 0, &err);
	
    //ubah data
    sqlite3_exec(conn,  "Update siswa Set alamat='Antartika' WHERE id='1'", 0, 0, &err);
    
    //gunakan query select lagi
    printf("====\nSetelah diubah!\n");
    sqlite3_exec(conn, select, callback, 0, &err);
 
    sqlite3_close(conn);
    return 0;
}
Contoh :
id = 0
nama = Geri
alamat = Saribumi

id = 1
nama = Panji
alamat = Wonokarto

id = 2
nama = Tomi
alamat = Gading

====
Setelah diubah!
id = 0
nama = Geri
alamat = Saribumi

id = 1
nama = Panji
alamat = Antartika

id = 2
nama = Tomi
alamat = Gading

Syarat di dalam update bisa menggunakan seperti contoh di atas atau tanda perbandingan lainnya.