Drop

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.