Anasayfa Makale Android Programlama Ders 44: SQLite Pratik – Bölüm 2

Android Programlama Ders 44: SQLite Pratik – Bölüm 2

Android Programlama Ders 44′te SQLite komutlarını pratik örneklerle incelemeye devam edeceğiz.

Geçen derslerimizdeki gibi sqlite3 base.db komutu kullanarak veri tabanı açalım. Veri tabanını önceki derslerimizde oluşturduğumuz için yenisi yaratılmayacak, olan veri tabanı açılacak. Bunu kontrol etmek için aşağıdaki verdiğim komutu kullanabilirsiniz:

sqlite>.tables

Ekranda schema test yazısını görüyoruz. Şimdi veri tabanına ait bilgileri öğrenmek için farklı yöntemleri inceleyelim. Son derste tablo için indeksleri oluşturduk. İndeks hakkında bilgi almak için aşağıdaki komutu kullanabilirsiniz:

sqlite> .indices test

Ekranda text_idx yazıyı görüyoruz.

Tablonun yapısı öğrenmek için:

sqlite> .schema test

Sonuç:

CREATE TABLE test (id integer primary key, value text);

CREATE INDEX text_idx on test (value);

 

Bilgileri öğrenmek için başka da komutlar mevcut:

type – nesnenin tipi

name – nesnenin ismi

tbl_name – nesneyle bağlı olan tablo

sqlSQL tınımlıyor (DDL)

Aşağıdaki verdiğim komutları girelim:

sqlite> .mode column

sqlite> .headers on

sqlite> select type, name, tbl_name, sql from sqlite_master order by type;

Sonuç:

  type           name       tbl_name                         sql

———- ———-  ———-    ————————————-

index       text_idx      test            CREATE INDEX text_idx on test (value)

table        test              test            CREATE TABLE test (id integer primary

view       schema       schema      CREATE VIEW schema as select * from s

select_type

Bu komutları kullanarak veri tabanına ait bilgilere ulaşabiliriz. Yabancı veri tabanı araştırdığınız zaman da kullanabilirsiniz.

Verileri SQL formata .dump komutu kullanarak ihraç edebiliriz. Argümanları kullanmadığımız zaman tüm veri tabanı ihraç edilecek. Verileri dosyaya ihraç etmek için .output [filename] komutu kullanılıyor. Verileri ekranda kullanmak için .output stdout komutu kullanılıyor.

sqlite> .output file.sql

sqlite> .dump

sqlite> .output stdout

Komutları çalıştırdıktan sonra diskte file.sql dosya oluşacak.

Verileri ithal etmek için iki yöntem mevcuttur. Verileri SQL formata olduğu zaman .read komutu kullanılıyor. Eğer dosya CSV formataysa .import [file][table] komut kullanılıyor.

Bizim örnekte file.sql formata o yüzden .read komutu kullanacağız. İlk başta test tablodan tüm verileri silecek ve file.sql dosyadan verileri kopyalacağız. Kopyalama olup olmadığını kontrol etmek için file.sql dosyada ilk ismi değiştirelim (İlk isim Osman olsun). Değiştirmek için dosyayı Notepad ile açabilirsiniz.

sqlite> drop table test;

sqlite> drop view schema;

sqlite> .read file.sql

sqlite> select * from test;

Osman

Gördüğünüz gibi file.sql dosyadan test tabloya verileri kaydettik.

Bazen tablonun bir kısmı kaydetmek gerekiyor. Mesela tabloda bulunan is ile biten kayıtları kaydedelim. Bizim örnekte is ile biten bir tane kayıt mevcut (Baris).

sqlite> .output is.csv

sqlite> .separator ,

sqlite> select * from test where value like ‘%is’;

sqlite> .output stdout

Yukarıdaki verdiğim komutlarda .separator , komutu id ve isim arasında virgülü koyuyor. Şimdi is.csv dosyadan kayıtları yeni tabloya yerleştirelim.

sqlite> create table test2(id integer primary key, value text);

sqlite> .import is.csv test2

Ders Sonu Notları:

Bugünkü dersimizde sqlite’ta verileri ithal ve ihraç etmek için kullanılan komutları inceledik. Gelecek derste sqlite ait komutları ve özellikleri öğrenmeye devam edeceğiz.