Statement drop digunakan untuk menghapus tabel atau view. Sintaksnya sederhana.
- Drop table nama_tabel
- Drop view nama_view
Contoh query :
- Drop table siswa
- Drop view tabelku
Contoh kode program :
//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[255];
static stringku data[4][3]={{"Deri", "3A", "75"}, {"Panji", "3A", "95"}, {"Romi", "3B", "80"}, {"Doni", "3B", "70"}};
sqlite3_exec(conn, "Create Table siswa(id INTEGER Primary Key, nama Text, kelas Text, nilai INTEGER);", 0, 0, &err);
//tambahkan data
for(int i=0;i<4;i++){
sprintf(query, "INSERT INTO siswa(id, nama, kelas, nilai) VALUES('%d', '%s', '%s', '%s')", i, data[i][0], data[i][1], data[i][2]);
sqlite3_exec(conn, query, 0, 0, &err);
}
}
int main(){
int res=0;
sqlite3 *conn=NULL;
sqlite3_stmt *stmt=NULL;
sqlite3_open("databaseku.dat", &conn);
//jika database kosong, tambah tabel
sqlite3_exec(conn, "Drop Table siswa", 0, 0, &err);
sqlite3_exec(conn, "Drop View tabelku", 0, 0, &err);
isi_database(conn);
//gunakan query
sqlite3_exec(conn, "Create view tabelku AS SELECT kelas, Sum(nilai) AS total, Avg(nilai) AS mean FROM siswa Group By kelas", 0, 0, &err);
sqlite3_exec(conn, "SELECT kelas, total FROM tabelku", callback, 0, &err);
sqlite3_close(conn);
return 0;
}
Contoh di atas menghapus tabel siswa dan view tabelku sebelum membuat tabel dan view dengan nama yang sama.