NovaLst 1
NovaLst
SLyFeLLowTR 1
SLyFeLLowTR
xranzei 1
xranzei
InfernoShade 1
InfernoShade
shrpnl 1
shrpnl
D 1
delimuratt
noisiv 1
noisiv
Manwe Work 1
Manwe Work
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Cannn6161 1
Cannn6161
onur akbaş 1
onur akbaş
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

SQLite Nedir ve Nasıl Kullanılır?

  • Konuyu başlatan Konuyu başlatan ShineSun-Turkmmo
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 330

ShineSun-Turkmmo

Tesadüf
Telefon Numarası Onaylanmış Üye
TM Üye
Üye
Katılım
2 Eyl 2017
Konular
2,051
Mesajlar
7,142
Çözüm
236
Online süresi
6mo 29d
Reaksiyon Skoru
4,086
Altın Konu
74
TM Yaşı
8 Yıl 9 Ay 10 Gün
Başarım Puanı
392
Yaş
37
MmoLira
334
DevLira
0
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

SQLite kullanımı ve kurulumu oldukça basit olan bir veritabanı kütüphanesidir. Özelliklerinin tam listesini sitesinde bulabilirsiniz ancak ben bazılarını buraya aktarıyorum.

  • SQLite’ın çalışması için herhangi bir sunucuya ihtiyacı olmadığı için, kurulum ve ya konfigürasyon adımları yoktur.
  • Her veritabanı için sadece bir dosya vardır. Bu da veritabanının yedeklenmesini ve kopyalanmasını kolaylaştırır.
  • Platform bağımsızdır.
  • SQLite kompakttır. Tüm kütüphanenin boyutu 225kb’dır. Bazı özellikler çıkartılarak, bu boyut 170kb’a kadar indirilebilir. Bu sayede embedded ve ya symbian gibi platformlar için uygundur.
Özelliklerin tam listesini burada bulabilirsiniz.

SQLite’ın eşdeğeri olarak Oracle’ı ya da MySQL’i düşünmemelisiniz. Sitesinde de çok değinildiği gibi SQLite fopen’ın yerini almayı amaçlayan bir kütüphanedir.

SQLite ve C++, Basit bir örnek.

Öncelikle işlem yapabilmemiz için bir veritabanımızın olması gerekiyor. Bunun için z. Konsoldan sqlite3.exe’yi aşağıdaki şekilde başlatınız.

sqlite3 test.db

Argüman olarak “test.db” verdiğimiz için, herhangi bir tablo yarattığınızda, bu tablolar test.db dosyasına kayıt edilecektir.

Şimdi test veritabanımızda bir tablo oluşturuyoruz. Aşağıdaki SQL sorgusunu açtığınız sqlite3 programında yazınız.

CREATE TABLE users( id INTEGER PRIMARY KEY,
name VARCHAR(25),
lastname VARCHAR(25),
email VARCHAR(100)
);

Böylelikle, veritabanımızda kullanıcıları tutabileceğimiz bir tablo oluşturmuş olduk. id Primary Key olarak tanımlandığı için otomatik olarak arttırılacaktır (autoincrement), bu SQLite’ın bir özelliği, çünkü normalde primary key olmasının haricinde autoincrement olarak da tanımlamadan o kolon autoincrement olmaz. Name ve lastname 25 karakter ve email ise 100 karakter olarak oluşturulmuştur. Programı kapatmadan önce birkaç veri girerek tabloyu dolduralım.

INSERT INTO users VALUES (NULL, ‘Ercan’, ‘Gerçek’, ‘mail@mail.com’);
INSERT INTO users VALUES (NULL, ‘İsim’, ‘Soyisim’, ‘mail@mail.com’);

Bu girdiğimiz iki veriyi listelemek için, bir SELECT sorgusu atmamız yeterli olacaktır.

SELECT * FROM users;

dediğiniz taktirde kullanıcılar listelenecektir.
( ‘;’ koymayı unutmayın )

Eğer kolon isimlerini de görmek istiyorsanız

.explain on

yazarak bu seçeneği açabilirsiniz. Bundan sonraki SELECT sorgularında kolon isimleride listelenecektir.

Diğer komutlarıda görmek için ‘.help’ yazmanız yeterlidir.

Eğer bir tablonun içeriği bir dosyaya yazdırmak isterseniz, aşağıdaki komutları girin.

.output deneme.txt
SELECT * FROM users;

ve çıkışı eski haline getirmek için tekrar

.output stdout

demeniz gerekiyor. Aksi taktirde tüm sorguların cevapları deneme.txt dosyasına yazdırılacaktır.

Artık bir veritabanımız olduğuna göre, bunu açmak için bir C++ programı yazabiliriz.
Önce SQLite’ın kaynak kodunu indiriniz. (Güncel versiyonu için sitesine bakınız.)

main.cpp
==================================================
#include <stdio.h>
#include “sqlite3.h”

int main(int argc, char **argv)
{
sqlite3 *db;
// veritabanına bağlantı açıyoruz.
int ret = sqlite3_open(“test.db”, &db);
sqlite3_stmt *stmt;
int rc = sqlite3_prepare(db, “SELECT * FROM users”, -1, &stmt, 0);
while(sqlite3_step(stmt) == SQLITE_ROW) {
printf( “id:%s, name:%s, lname:%s, email:%s \n”,
sqlite3_column_text(stmt, 0),
sqlite3_column_text(stmt, 1),
sqlite3_column_text(stmt, 2),
sqlite3_column_text(stmt, 3));
};
sqlite3_finalize(stmt);
sqlite3_close(db);

return 0;
}
==================================================

Eğer id gibi değerleri integer olarak almak istiyorsanız,

int id = sqlite3_column_int(stmt, 0);

demeniz yeterli.
 
Son düzenleme:

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst