67  SQLite Sanal Tabloları (virtual tables)

Sanal tablo, açık bir SQLite veritabanı bağlantısıyla kayıtlı bir nesnedir. Bir SQL ifadesinin perspektifinden, sanal tablo nesnesi diğer herhangi bir tablo veya görünüm gibi görünür. Ancak sahne arkasında, sanal tablodaki sorgular ve güncellemeler, veritabanı dosyasında okuma ve yazma yapmak yerine sanal tablo nesnesinin geri çağırma yöntemlerini çağırır.

Sqlite sanal tablolarının çok ilginç kullanım örnekleri var.

67.1 CSV Sanal Tabloları örnek

  1. csv extension’u yükleyin.
.load sqlite-extensions/csv.so 
  1. Örnek csv dosyası oluştur.
.mode csv 
.headers on
.once deneme.csv 
SELECT FirstName,LastName FROM Customer; 
  1. Sanal CSV tablosu oluştur.
CREATE VIRTUAL TABLE temp.t1 USING csv(filename='deneme.csv');
  1. Sanal CSV tablosunu sorgula.
SELECT * FROM t1; 

67.2 Zip Sanal Tabloları örnek

  1. Örnek bir zip dosyası oluşturalım.
zip -r oracle-chinook.zip oracle-chinook/
  1. sqlite3 açalım

SELECT name FROM zipfile('oracle-chinook.zip'); 
CREATE VIRTUAL TABLE temp.zip USING zipfile('oracle-chinook.zip');
  1. normal bir dosya ekleme
INSERT INTO temp.zip(name, data) VALUES('a.txt', 'Atilla Özgür');   

sqlite için diğer sanal tabloların belgelerine bakın