Home > SQLite > Mengenal lebih dekat database SQLite

Mengenal lebih dekat database SQLite

Biasanya nih bagi kita yang udah sering nyemplung di dunia pemrograman bahkan sampe kelelep :grin: pasti udah kenal yang namanya Ms Access dari Microsoft atau Paradox dari Borland.

Itu adalah beberapa contoh database standalone yang sudah sering kita gunakan, nah sekarang saya mengajak Anda untuk mengenal lebih dekat database standalone lainnya yaitu SQLite.

Dan tahukah Anda bahwa firefox juga menggunakan SQLite untuk mengelola data bookmarks dan historynya.

Jadi klo mau tau, apa saja fitur dari SQLite jangan malu-malu untuk segera mengklik link INI.

Pada artikel kali ini kita akan mencoba membuat database dan beberapa tabel di SQLite sesuai rancangan berikut :

Persiapan tool

1. Agar pembuatan database dan tabelnya lebih mudah dan menyenangkan, download dulu SQLite Managernya di sini.

2. Klo udah, install dan jalankan SQLite Managernya.

Membuat database dan tabel

1. Klik menu File -> New Database

2. Isikan lokasi penyimpan database dan alias pada kotak dialog Database Creation Properties

3. Jika berhasil akan tampil nama database di node sebelah kiri, kemudian untuk membuat tabel baru klik menu Table -> New Table

4. Selanjutnya isikan informasi nama tabel, field berikut tipe datanya.

5. Jika semua field yang dibutuhkan sudah lengkap, klik tombol Apply

6. Jika berhasil nama tabel akan muncul di node sebelah kiri.

Membuat tabel dengan field auto number

Ada yang beda dengan SQLite dalam pembuatan field auto number, dimana SQLite mensyaratkan field auto numbernya harus bertipe INTEGER.

Oke kita akan ambil contoh pembuatan tabel ITEM_BELI, dimana tabel ini mempunyai field ID yang berfungsi untuk mencatat record transaksi pembelian.

1. Buat tabel sama seperti langkah-langkah sebelumnya

2. Jika field sudah ditambahkan (ex. field ID), klik tab Indexes kemudian klik tombol Add

3. Pada dialog New Index atur setingan field sesuai gambar

4. Balik ke dialog Desing tabel kemudian klik tombol Apply

Membuat foreign key

1. Aktifkan tabel, klik tab Foreign Keys kemudian klik tombol Add

2. Kembali ke dialog Design tabel kemudian klik tombol Apply

Untuk pembuatan tabel lainnya tinggal ulangi langkah-langkah sebelumnya. Contoh hasil akhir pembuatan tabel :

Membuat Trigger

Yang benar aja SQLite mendukung trigger ? Iya klo enggak percaya main-main aja ke sini.

Sample database lengkap bisa di download di sini.

>> Update <<

Ikuti juga artikel bagaimana cara mengakses database SQLite dari Visual Basic 6 di sini.

Selamat mencoba :)

About these ads
  1. July 7, 2010 at 8:25 am | #1

    om download SQLite dimana sih om…
    dah maen ke sini http://www.sqlite.org/download.html
    tapi gak tau mana yg mau di download….

    • July 7, 2010 at 8:34 am | #2

      Ha ha ha :D enggak perlu download lagi om, itu cuma command linenya aja kok, jadi langsung buat aja pake SQLite Manager udah langsung bisa kok, gimana? kerenkan SQLite :)

  2. July 7, 2010 at 2:02 pm | #3

    oooo… gitu toh… ane sedot dulu deh om buat koleksi….

  3. July 13, 2010 at 5:41 am | #5

    om, brarti, kalo qt install sqlite manager, otomatis database udah keinstall ya?? . . .

    • July 13, 2010 at 6:06 am | #6

      Enggak seperti itu om, SQLite itu engine dbnya berdiri sendiri kayaxnya udah langsung include sama OSnya

      SQLite adalah library/pustaka kecil C yang mengimplementasikan engine database
      yang self-contained (mungkin maksudnya bisa berdiri sendiri ada komentar),
      embeddable (bisa terintegrasi ke dalam program buatan kita tanpa perlu install
      terpisah), zero-configuration (konfigurasinya minimal, memang, karena semuanya
      tinggal pake)

      Sumber : http://forum.phimega.com/viewtopic.php?f=10&t=11

      Firefox sendiri juga punya Add-onsnya kok om.

  4. August 19, 2010 at 8:56 pm | #7

    Bagusan mana nih om:

    SQLitePlus.exe (buatan EzTools Software)
    vs
    sqlite36_engine.dll (buatan DatenHause)

    • August 20, 2010 at 4:07 am | #8

      Kayaxnya sih SQLitePlus bagus om, tapi.. sayang enggak gratis :(

  5. kamerta
    September 3, 2010 at 2:55 am | #9

    beberapa hari belakangan ini sy belajar banyak tentang sqlite dan vb, tp mash blm menemukan cara untuk membuat reportnya, dengan data report tdk berhasil, br bisa dengan crystal report tapi harus melalui odbc. sedangkan untuk koneksi nya saya menggunakan sqlite36_engine. ada saran cara yg lebih baik untuk membuat reportnya om? trims atas sharing ilmunya.

    • September 3, 2010 at 3:27 am | #10

      Klo menghubungkan report yg dibuat menggunakan data report, active report dan crystal report kayaxnya memang enggak bisa menggunakan sqlite36_engine alternatifnya memang menggunakan SQLite ODBC

      CMIIW

  6. kamerta
    September 3, 2010 at 1:55 pm | #11

    satu lagi nih, kl buat transfer database dari mysql atau ms.acces ke sqlite pake program apa ya, kl bisa yg freeware… trims

    • September 4, 2010 at 3:15 am | #12

      klo hanya untuk transfer datanya saja bisa langsung via odbc

  7. October 2, 2010 at 6:28 pm | #13

    arigatou bro!! :mrgreen:

  8. A Rahman
    January 20, 2011 at 2:29 pm | #15

    Katanya SQLite ga ada tipe field tanggal ya?
    Lalu bagaimana kalau kita mau menyimpan field tanggal?
    bagaimana triknya buat perhitungan dan buat laporannya?

  9. yunandri
    February 1, 2011 at 2:59 am | #17

    Om mw tanya nih, sata masih baru mencoba sqlite. Saya ada sqlite3 yg lngsg saya dnlwd di situs resminya, kl saya jalanin itu lewt cmd bkn sprti yg om kasih, bedanya apa ya?
    trs kl untuk koneksi ke Java gmn caranya?
    mhn bantuannya om.

    • February 1, 2011 at 4:51 am | #18

      yunandri :

      Om mw tanya nih, sata masih baru mencoba sqlite. Saya ada sqlite3 yg lngsg saya dnlwd di situs resminya, kl saya jalanin itu lewt cmd bkn sprti yg om kasih, bedanya apa ya?

      Ya jelas beda om klo pake SQLite Manager lebih gampang :D tinggal klik2x, klo hasilnya sama kok (CMIIW).

      trs kl untuk koneksi ke Java gmn caranya?
      mhn bantuannya om.

      Coba pake SQLite JDBC om

      Selamat mencoba :)

  10. simon
    May 4, 2011 at 3:30 am | #19

    kalau mau import atau export dri Ms Excel gimana caranya om?

  11. simon
    May 4, 2011 at 8:15 am | #21

    itu Database nya make Access ya om?
    klo database makai SQlite
    import data dari Ms Excel ke SQLite dan Eksport data dari SQlite ke Excel gimana om?
    sory banyak nanya…. hhihihiiiiiii

    • May 4, 2011 at 8:25 am | #22

      Apapun databasenya sama aja om yg penting om bisa SELECT dan INSERT.

  12. simon
    May 4, 2011 at 9:07 am | #23

    ok om dah sukses importnya ke Ms Excel
    klo export nya lom bisa….

    import data dari excel trus langsung masuk ke database SQlite….
    agak bingung om

    • May 4, 2011 at 9:45 am | #24

      Coba baca lagi om artikel yang ini, trus cek bagian kode :

      ' tampilkan data yg ada sheet1 ke ListBox
      List1.AddItem rsExcel(1).Value & ", " & rsExcel(2).Value
      

      tinggal ganti dengan pernyataan INSERT, misal :

      strSql = "INSERT INTO nama_tabel (field1, field2) VALUES ('" & rsExcel(1).Value & "', '" & rsExcel(2).Value & "')"
      
  13. nez
    June 7, 2011 at 3:15 am | #25

    itu rancangan tabel – tabel pake software apa????

  14. Erwinsyah
    June 25, 2011 at 4:50 am | #29

    thanks om info nya.
    hem… jadi tawu sql lite.
    sql lite dia ga perlu install softnya lagi ya om.
    pake command ama sqllite manager da bisa jadi….

    kalau boleh tawu. sql lite nampung data sanggup ga om banyak2……..
    conth :10m

    thanks om. maksud ane . berapa banyak data bisa ditampung. thanks ya om

  15. lufty
    August 4, 2011 at 9:36 am | #31

    om tadi diatas saya baca transfer data dari mysql / akses ke sqlite pake ODBC aja, maksud’a gmana ya om ??

  16. Hendro
    September 25, 2011 at 1:19 am | #32

    Om, bisa jelasin ngak Crystal Report pake SQLite.

    • September 26, 2011 at 4:15 am | #33

      setau sy yg beda cuma dipengesetan nilai string koneksinya aja

  17. November 24, 2011 at 5:02 am | #34

    mau tanya dong
    itu datanase dinuatnya pake apa? masi newbie niii

  18. phanilla
    December 28, 2011 at 11:22 pm | #36

    om,,q mw make sqlite y addons ma mozilla..tu cara koneksi ke eclipse c gmn yah?p prlu punya library baru…

  19. December 29, 2011 at 9:37 pm | #37

    Kok Eclipse ? Eclipse IDE Java maksudnya ?
    Jadi intinya koneksi dari Java ke SQLite ? Klo iya coba pake SQLite JDBC

  20. April 11, 2012 at 9:21 pm | #38

    maaf mau tanya, kalau disambungin ke Android gimana ea??

  21. Bramantyo
    April 12, 2012 at 12:53 am | #39

    Bro, mo tanya tentang trigger di SQLite dong …
    Ane ingin membuat penambahan/pengerangan otomatis untuk jumlah stok barang pada saat ada transaksi pembelian/pengurangan dengan trigger. Saat ini ane pake Ms.SQL Server 2008 dengan query trigger :

    Create Trigger [dbo].[Transaksi_Pembelian] on [dbo].[TblPembelian_Rinci] For Insert, Update, Delete
    AS
    Select * from Inserted Update TblBarang Set Stok = Stok + Jumlah
    From Inserted Where TblBarang.KodeBarang = Inserted.KodeBarang

    Nah kalo dengan SQLite gimana ya gan ???
    ane dah coba baca dokumentasi dari SQLite tentang Trigger dan mempraktekkannya tapi lum juga berhasil, mungkin bro master ada yg bisa kasih pencerahan baik dengan cara wizard maupun manual, thanks sebelumnya gan !

    • April 13, 2012 at 9:32 am | #40

      Untuk skripnya mungkin seperti ini om, soalnya mirip dg skrip trigger di firebird :

      CREATE TRIGGER Transaksi_Pembelian AFTER INSERT or UPDATE or DELETE ON TblPembelian_Rinci
      BEGIN
          Update TblBarang Set Stok = Stok + NEW.Jumlah Where TblBarang.KodeBarang = NEW.KodeBarang;
      END
      

      Trus klo gampang ya buat aja pake wizard seperti yg sy bahas diatas

  22. edogawa
    May 1, 2012 at 9:44 am | #41

    Om Admin saya punya masalah pada saat entry format tanggal ke database ms.access atau mysql, yaitu pada waktu saya entri tanggal dengan format dd/MM/yyyy kenapa pada saat suatu waktu data yang tersimpan pada database berubah menjadi format MM/dd/yyyy akhirnya jadi kacau semua pada saat filter laporan penjualan berdasar tanggal, mungkin Om Admin ada solusi bagaimana supaya formatnya tetap pada format dd/MM/yyyy sebelumnya trims, sukses trus :-)

    • May 3, 2012 at 4:32 pm | #42

      Waktu mau nyimpan tanggalnya diformat yyyy/MM/dd

      • edogawa
        May 4, 2012 at 1:00 am | #43

        sudah sya cba menyimpan dngan format(text1.text,”yyyy/MM/dd”) tp d database tetap tersmpan MM/dd/yyyy, gmana ya om admin ?

        • May 4, 2012 at 1:08 pm | #44

          Kan waktu nyimpannya aja om pake format yyyy/MM/dd, waktu mau nampilin datanya diformat lagi dengan dd/MM/yyyy.

          Nah klo di ms accessnya kan enggak masalah format tanggalnya terlihat menggunakan format MM/dd/yyyy, itukan karna om menggunakan setting regional english coba aja menggunakan setting regional indonesia pasti otomatis menggunakan format dd/MM/yyyy.

  23. edogawa
    May 4, 2012 at 2:06 pm | #45

    regional setting udah sya set indonesia om, emg pda awal2 data tersimpan dd/MM/yyyy tp setlah smpk beberapa record tiba2 pd saat menympan data tersmpan MM/dd/yyyy,sepert y regional settng nya tetp memkai english ya, pdahal sya pnggl dngan date hasl y dd/mm/yyyy

    • May 4, 2012 at 3:58 pm | #46

      Sy biasanya cuma seperti ini aja kok om, enggak pernah ada masalah :

      Private Sub Command1_Click()
          Dim tgl As String
          
          ' di format yyyy/MM/dd
          tgl = "2012/05/04"
          
          strSql = "INSERT INTO tabel (tanggal) VALUES (#" & tgl & "#)"
          conn.Execute strSql
          
          strSql = "SELECT * FROM tabel WHERE tanggal = #" & tgl & "#"
          Set rs = New ADODB.Recordset
          rs.Open strSql, conn, adOpenForwardOnly, adLockReadOnly
          If Not rs.EOF Then
              Debug.Print Format(rs("tanggal").Value, "dd/MM/yyyy")
          End If
          rs.Close
          Set rs = Nothing
      End Sub
      

      Trus klo dicek di access nampilnya pake format dd/MM/yyyy, MM/dd/yyyy atau yyyy/MM/dd enggak pernah sy masalahkan yg penting waktu sy format via program (vb) nampil sesuai dg harapan.

      • edogawa
        May 5, 2012 at 8:19 am | #47

        gni akhrnya sya akali regional settingnya english (mm/dd/yyyy) dn nyimpanya dngan format mm/dd/yyyy jga cma msalahnya sya menggunakan report dri commponentone yg nma kmponenya vsprinter yg format tanggal nya ngikuti regional settng nya jd tdak bsa d ubah menjadi dd/mm/yyyy,yah sma ja gk bsa huhu

  24. May 7, 2012 at 7:22 am | #49

    bang ane mau tny lo lihat2 di be2rapa totorial android itu buat databasenya pake script di dikelas n buatnya di eclipse lagsung kaya gini :
    \public DatabaseHandler(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    // Creating Tables
    @Override
    public void onCreate(SQLiteDatabase db) {
    String CREATE_CONTACTS_TABLE = “CREATE TABLE ” + TABLE_CONTACTS + “(”
    + KEY_ID + ” INTEGER PRIMARY KEY,” + KEY_NAME + ” TEXT,”
    + KEY_PH_NO + ” TEXT” + “)”;
    db.execSQL(CREATE_CONTACTS_TABLE);
    }

    # Yang jd pertanyaannya lo kita buat di sqllitemanager bisa g diakses di android lgsg? sama minta samplenya dong?
    Syukron bang.

    • May 7, 2012 at 8:16 am | #50

      Ya harusnya bisa om, tapi ane sendiri belum pernah ngoding android :oops: baru sampe level beli bukunya he he he :D jadi belum bisa bantu nih.

  25. edogawa
    May 7, 2012 at 8:43 am | #51

    Siip,Om akhirnya pndah ke Active Report haha…. Om database Ms.Access tu batasan record nya sampk brapa ya ? soalnya sya pernah nemui database saya access blom sampk 4 mb kok udah heng waktu d buka ya, apa mungkin kalau misal salah satu table sampk ribuan bsa mempengaruhi seluruh databse hingga sampai heng ya hmm…

    • May 7, 2012 at 12:49 pm | #52

      Enggak juga kok om sy udah sering pake db ms access dg data lumayan banyak lancar2x aja.
      Yg jelas sy biasanya setiap program start langsung melakukan proses auto compact

      • edogawa
        May 7, 2012 at 5:50 pm | #53

        nah untk auto compact tu cranya gmana om ? he.. 5af ngrepotn he..

        • May 8, 2012 at 10:13 am | #54

          1. Buka google
          2. Ketik keyword “visual basic + Compact Microsoft Access”

          Klo langsung sy jawab om cuma dapat satu solusi, tapi klo nanya mbah google om akan mendapatkan banyak solusi yg lumayan buat nambah koleksi kode.

          Memang butuh waktu untuk mencoba satu2x tapi bukankah itu lebih baik sebagai salah satu proses pembelajaran, dari pada kita mendapatkan kode siap pakai dan stop sampai disitu.

          • edogawa
            May 8, 2012 at 11:36 am | #55

            ok, om, thanks :-)

            • May 8, 2012 at 11:44 am | #56

              Sama2x om :)

              • edogawa
                May 10, 2012 at 12:45 pm | #57

                om tlong gmana neh awalnya format d regional seting yyyy-mm-dd atau 2012-05-10 kemudian sya format(’2012-05-10′,”dd-mm-yyy”) hasilnya kok berubh menjadi 10-05-2012 ya ? apa yg salah om ya ? sya hrus gmana ne ? trims sblumnya

                • May 11, 2012 at 6:26 pm | #58

                  Loh bukannya udah benar om “2012-05-10″ itu 10 mei 2012 (10-05-2012)

                  • edogawa
                    May 11, 2012 at 8:19 pm | #59

                    eh salah om jd nya menjadi 5 oktober 2012,ato 05-10-2012, knp ya om bsa git tu ? ato fungsi format tu slalu menghasilkn bulan d dpan ya walopun menggunakan tanggal yg d dpan ..

  26. May 11, 2012 at 12:45 pm | #60

    om Admin,gimana cara enkripsi file SQLite?
    database SQLite masih bisa dibuka dengan editor seperti notepad,sehingga orang lain pun bisa membuka dan mengedit data.
    itu saja trima kasih

  27. edogawa
    May 11, 2012 at 8:13 pm | #62

    eh salah om jd nya menjadi 5 oktober 2012,ato 05-10-2012

    • May 11, 2012 at 8:41 pm | #63

      Enggak percaya ah :D, coba deh ditempat om kode ini klo dijalankan jadinya apa ?

      Private Sub Command1_Click()
          Dim tgl As String
          
          tgl = "2012-05-10"
          MsgBox Format(tgl, "dd-mm-yyyy")
      End Sub
      
      • edogawa
        May 14, 2012 at 10:47 am | #64

        ntar om sya upload gambar d koding saya aneh kok, klo sperti coding d atas seharusnya keluarnya “10-05-2012″ tp d kmputerq terkdang malah kebalik jdi 05-01-2012, git om huft… pusing om

        • edogawa
          May 14, 2012 at 10:52 am | #65

          ntar om sya upload gambar d koding saya aneh kok, klo sperti coding d atas seharusnya keluarnya “10-05-2012″ tp d kmputerq terkdang malah kebalik jdi 05-10-2012, git om huft… pusing om

  28. edogawa
    May 14, 2012 at 10:52 am | #66

    edogawa :
    ntar om sya upload gambar d koding saya aneh kok, klo sperti coding d atas seharusnya keluarnya “10-05-2012″ tp d kmputerq terkdang malah kebalik jdi 05-10-2012, git om huft… pusing om

  29. bas
    July 1, 2012 at 11:01 am | #67

    terimakasih pak
    sangat membantu nih…

  30. arief
    November 14, 2012 at 8:55 am | #69

    om mau tanya, SQLite ODBC saya tidak bisa jalan ya di windows 64 bit.?
    ketika mencoba koneksi selalu muncul error seperti ini “ODBC error : [Microsoft][ODBC Driver Manager] The specified DSN
    contains an architecture mismatch between the Driver and Application”, kira-kira apa yang salah ya om?

  31. san
    February 9, 2013 at 12:10 am | #70

    om mau nanya nih.. berhubung saya masih newbie, klo liat gambar, sqlite manager tuh bisa di buka di firefox asal udh di instal add-ons sql manager-nya. nah saya bingung cara mengaksesnya gmn? soalnya klo sumber2 yg saya liat sql manager itu bisa dijalankan seperti phpmyadmin gitu..terima kasih…

    • February 9, 2013 at 5:10 am | #71

      Udah diinstall blm om add-ons SQLite Managernya ?
      Klo udah dicoba dulu ya, karna klo cuma baca2 referensi tok tanpa nyobain sendiri ya engga bakalan bisa.

      Status “newbie” bukan alasan utk males nyoba sendiri.

  32. erwan
    February 11, 2013 at 11:27 pm | #72

    kalo untuk mendistribusikan file SQLITE ODBC sendiri menggunakan inno setup gimana caranya,,trims

    • February 12, 2013 at 11:34 am | #73

      1. Download dulu file sqliteodbc.exe
      2. Ekstrak file sqliteodbc.exe menggunakan tool Universal Extractor 1.6.1
      3. Copy file SQLiteODBCInstaller.exe, sqlite3odbc.dll, sqliteodbc.dll dan sqliteodbcu.dll yg ada difolder “…\sqliteodbc\$INSTDIR”
      4. Terakhir skrip inno setup yang harus disesuaikan

      [Files]
      Source: SQLiteODBCInstaller.exe; DestDir: {sys}; Flags: onlyifdoesntexist
      Source: sqlite3odbc.dll; DestDir: {sys}; Flags: onlyifdoesntexist
      Source: sqliteodbc.dll; DestDir: {sys}; Flags: onlyifdoesntexist
      Source: sqliteodbcu.dll; DestDir: {sys}; Flags: onlyifdoesntexist
      
      [Run]
      Filename: {sys}\SQLiteODBCInstaller.exe; Parameters: "-i -a -q"; StatusMsg: "Sedang menginstall SQLite ODBC Driver ..."; Flags: runhidden;
      
      [UninstallRun]
      Filename: {sys}\SQLiteODBCInstaller.exe; Parameters: "-u -a -q"; StatusMsg: "Sedang menguninstall SQLite ODBC Driver ..."; Flags: runhidden
      
  33. dwin
    March 28, 2013 at 12:03 pm | #74

    mff om ikut nimbrung lg stuck nih..sdh link odbc back endnya sqlite.db rencana mau update records di tabel via front-end access kagak bisa alasannya run-time error 3027 cannot update database or object is read only pls hlp me

  34. Mang Ozon
    April 3, 2013 at 8:44 pm | #75

    Permisi Om, untuk mendistribusikan file SQLITE ODBC saya udah download sqliteodbc.exe dan diextract pake Universal Extractor 1.6.1. Tapi file SQLiteODBCInstaller.exe nya kok gak ada yah?

    • April 10, 2013 at 4:14 pm | #76

      Ada kok om, coba dicek di folder $INSTDIR

  35. Banus
    August 11, 2013 at 2:47 pm | #77

    Para master maaf mau ikutan ngerepotin ada yang bisa bantu buat buka data base yang sudah terenskripsi

  36. November 20, 2013 at 10:21 pm | #78

    Reblogged this on slametmenulis.

  1. June 6, 2011 at 3:25 am | #1
  2. September 27, 2012 at 10:01 am | #2

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: