Insert

Sebelum membaca ini, sebaiknya kalian baca dulu tentang cara menggunakan sqlite. Kali ini, yang saya bahas adalah salah Insert yang merupakan salah satu statement yang bisa digunakan di dalam query SQL.

Query Insert digunakan untuk menambahkan data baru ke dalam tabel yang telah dibuat. Sintaks yang bisa kalian gunakan adalah sebagai berikut.

  • Insert INTO nama_tabel(nama_kolom) Value(nilai_kolom)
  • Insert INTO nama_tabel(nama_kolom1, nama_field2) Value('nilai_kolom1', 'nilai_kolom2')

Contoh Query :

  • INSERT INTO siswa (nama, alamat) VALUES('Toni', 'Tegalrejo')

Jika ada lebih dari 1 kolom di dalam tabel, kalian perlu menggunakan tanda koma untuk memisahkan kolom maupun nilainya. Nilai / value yang diberikan harus sesuai dengan banyaknya kolom yang disebutkan dalam Query. Tapi, tidak semua kolom dalam tabel harus disebutkan.

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

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 data_baru(sqlite3 *db, char *nama, char *alamat){
    char *err;
    char query[1024];
	
    sprintf(query, "INSERT INTO Employee(nama, alamat) VALUES('%s', '%s')", nama, alamat);

    sqlite3_exec(db, query, 0, 0, &err);
    int hasil=sqlite3_exec(db, "Select * FROM Employee", callback, 0, &err);
}

int main(){
sqlite3 *db;
char *err;
char nama[30], alamat[30];

 //buka database
 sqlite3_open("databaseku.db", &db);
 int hasil=sqlite3_exec(db, "Select * FROM Employee", callback, 0, &err);
 
 //buat tabel baru jika belum ada
 if(hasil!=0){
  sqlite3_exec(db, "Create Table Employee(nama Text Primary Key, alamat Text);", 0, 0, &err);
 }
 printf("====\n");
 
 //input
 printf("Nama : ");scanf("%[^\n]", nama);
 fflush(stdin);
 printf("Alamat : ");scanf("%[^\n]", alamat);
 printf("====\n");
 
 //tambahkan data
 data_baru(db, nama, alamat);
  
 sqlite3_close(db);
 return 0;
}
Contoh :
nama = Geri
alamat = Saribumi

nama = Sani
alamat = Saribumi

====
Nama : Someone
Alamat : Somewhere
====
nama = Geri
alamat = Saribumi

nama = Sani
alamat = Saribumi

nama = Someone
alamat = Somewhere
Kode program di atas membuat tabel dengan kolom nama sebagai primary key. Primary key membuat suatu kolom tidak bisa punya data yang sama. Jadi, kalau kalian menambahkan nama yang sama, maka data tidak akan ditambahkan.