Ana içeriğe atla

SQLite için Yeni Başlayanlar Rehberi

Komut satırı arayüzünü kullanarak SQLite nokta komutlarından pratik uygulama örneğine kadar SQLite veritabanlarının temellerini öğrenin.
Güncel 3 Eki 2026  · 10 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

SQLite nedir?

İlişkisel veritabanı sistemlerine aşinaysanız, büyük olasılıkla MySQL, SQL Server veya PostgreSQL gibi ağır sıkletleri duymuşsunuzdur. Ancak, SQLite başka ilişkisel veritabanlarına göre pek çok farklı özelliği olan, kurulumu ve kullanımı son derece basit yararlı bir RDBMS'dir. Bu özellikler şunları içerir:

  • Sunucu gerektirmez: Yani başlatılması, durdurulması veya yapılandırılması gereken sunucu süreçleri yoktur. Veritabanı yöneticilerinin örnek atamasına veya kullanıcı erişim izinlerini yönetmesine gerek yoktur.
  • Basit Veritabanı Dosyaları: Bir SQLite veritabanı, herhangi bir dizinde saklanabilen tek bir sıradan disk dosyasıdır. Bu aynı zamanda paylaşımı da kolaylaştırır; çünkü veritabanı dosyaları bir belleğe kolayca kopyalanabilir veya e‑posta ile gönderilebilir.
  • Açık Tip Tanımlama (Manifest Typing): SQL veritabanı motorlarının çoğu statik tiplemeye dayanır. Yani, belirli bir sütunla ilişkilendirilmiş aynı veri türündeki değerleri saklayabilirsiniz. Ancak SQLite, bir sütunun bildirilmiş veri türünden bağımsız olarak herhangi bir sütuna herhangi bir veri türünde herhangi bir miktarda veri saklamaya izin veren manifest tiplemeyi kullanır. Bu kurala bazı istisnalar olduğunu unutmayın. Örneğin, tamsayı birincil anahtar sütunları yalnızca tamsayıları saklayabilir.

Çoğu şeyde olduğu gibi, SQLite'ın diğer veritabanı motorlarına kıyasla bazı sınırlamaları da vardır. Örneğin, SQLite'ta Right veya Full Outer Join yapma seçeneği yoktur ve sunucusuz doğa, güvenlik ve veri kötüye kullanımına karşı koruma açısından dezavantaj olabilir. Yine de, belirli durumlarda son derece işe yarayan çok güçlü bir araçtır. Örneğin, yakın zamanda yaptığım bir sosyal medya analiz iş projesinde, milyonlarca Twitter kullanıcısının $edge \space list^{1}$ kaydını çok basit ve verimli bir şekilde saklamak için bir SQLite veritabanı kullandım.

Dolayısıyla bu başlangıç eğitiminde bir SQLite veritabanıyla nasıl çalışılacağını göstereceğim. SQLite kurulumu, tablo oluşturma ve işlemler, SQLite nokta komutları ve bir SQLite veritabanının içindeki veriyi basit SQL sorgularıyla nasıl işleyebileceğimiz üzerinden geçeceğiz.

$^{1}$ Kenar listesi veya komşuluk listesi, ağ analizinde bir grafiği temsil etmek için kullanılan sırasız listeler koleksiyonudur. Her liste, grafikte yer alan belirli bir düğümün veya tepenin komşular kümesini açıklar.

SQLite Nasıl Kurulur ve Yapılandırılır

Önce, SQLite'ı bilgisayarınıza nasıl edineceğimizi ele alacağız. Bu son derece basittir. Sayak Paul'un Python ile SQLite Eğitimine bakarsanız, sizi kolayca başlatabilecek DB Browser for SQLite adlı bir GUI aracının olduğunu göreceksiniz. Ancak çeşitlilik adına, komut satırı aracının nasıl kullanılacağını göstereceğim; ki ben de bazen bunu tercih ediyorum.

Windows cihazınız varsa yapmanız gereken ilk şey şu siteye gidip sqlite-tools-win32-x86-3270200.zip dosyasını indirmektir. Klasörün sıkıştırmasını açtığınızda aşağıdaki üç dosyayı görmelisiniz:

sqlite dosyaları

Sonrasında, SQLite komut satırını başlatmak, komut satırının aşağıdaki gibi açılmasını sağlayacak sqlite3 uygulamasına tıklamak kadar basittir:

sqlite3 açılır pencere

Şimdi, SQLite'ın varsayılan olarak geçici bir bellek içi veritabanı kullandığını fark edebilirsiniz. Zamanın büyük çoğunluğunda bunu istemezsiniz. Bunun yerine, .open nokta komutunu ve ardından yeni veritabanı dosyanıza vermek istediğiniz adı kullanarak yeni bir veritabanı oluşturacağız (Aşağıya bakın):

sqlite3 yeni veritabanı

İşte bu kadar, yeni bir veritabanı oluşturdunuz. Ayrıca, bir veritabanı dosyası oluşturmak için istediğiniz veritabanı adının sonuna .db koymanın çok önemli olduğunu unutmayın. Veritabanına, tablolara tweet dolduracağım için Tweet_Data.db adını verdik.

Tablo Oluşturma

Artık veritabanı oluşturulduğuna göre, tweet tablomuzu oluşturmaya geçebiliriz. Bunu iki şekilde yapabiliriz. İlk olarak, basitçe bir .csv dosyasını içe aktarabilir ve onu bir tablo haline getirebiliriz. Bu, SQLite'ı .mode nokta komutunu csv ile takip ederek csv moduna ayarlayıp, bir dosya (bu durumda aynı klasörde bulunan bir csv, ancak tam yolu yazarsanız bilgisayarınızdaki herhangi bir csv olabilir) ve seçtiğiniz bir tablo adı alan .import nokta komutuyla yapılır. Ayrıca, sütun başlıklarını .headers nokta komutunu on ile takip ederek göstermek isteyebilirsiniz. (Aşağıya bakın)

sqlite3 csv içe aktarma

Bunu yaptıktan sonra, bir veritabanı dosyasındaki tüm mevcut tabloları görüntülemek için .tables komutunu ve bir tablonun yapısını görüntülemek için de bir tablo adını takip eden .schema komutunu kullanabilirsiniz. Ayrıca, verinin orada olduğunu doğrulamak için SELECT $$ FROM Table_Name* gibi basit bir sorgu çalıştırabilirsiniz.

görüntülenen tablo yapısı sqlite3

csv gibi dosyaları içe aktararak tablolar oluşturmanın yanı sıra, CREATE TABLE kullanarak tablolar da oluşturabilir ve ardından INSERT INTO ile yeni satırlar ekleyebilirsiniz. Aşağıdaki örnekte, sıfırdan bir tabloyu nasıl oluşturabileceğinizi ve iki yeni satır ekleyebileceğinizi göreceksiniz.

Not: SQLite komut satırında, örnekte yaptığım gibi aynı sorguyu bir sonraki satırda yazmaya devam etmek istiyorsanız, yeni bir satır istediğinizde Enter'a basın. Sorgu, sonunda noktalı virgül olduğunda Enter'a bastıktan sonra değerlendirilir.

sqlite3 tablo oluşturma

SQLite'tan Dışa Aktarma

Bir noktada bir sorgunun sonuçlarını csv gibi harici bir dosyaya aktarmak isterseniz, bunu da SQLite'ın gücünü kullanarak yapabilirsiniz. Temiz bir csv dışa aktarma için, içe aktarmaya benzer bir süreç kullanabilirsiniz. Önce .header komutunu on ile ve .mode komutunu csv ile takip edersiniz. Ardından, .output nokta komutunu istediğiniz csv dosya adıyla takip eder ve son olarak dışa aktarmak istediğiniz SQL sorgusunu çalıştırır ve .exit komutunu kullanarak SQLite'tan çıkarsınız. Bir önceki adımda oluşturduğumuz yeni tabloyu csv'ye aktarmayı deneyelim.

sqlite3 çıktı

İşte Sample_Tweets_2 verilerini de içeren yeni oluşturulmuş csv.

yeni csv

Tabloları Güncelleme

Tablo oluşturmanın ve dışa aktarmanın yanı sıra, bir tablodaki satırları güncellemek veya bir tabloyu tamamen silmek için UPDATE/SET ve DROP TABLE SQL ifadelerini de kullanabilirsiniz. Aşağıdaki örnekte oyuncak Sample_Tweets_2 tablosundaki ikinci tweet'i güncelleyeceğiz.

update/set ve drop table

Şimdi oyuncak Sample_Tweets_2 tablosuna veda edelim ve DROP TABLE kullanarak onu veritabanı dosyasından silelim:

drop table

Twitter Verilerini Yönetmek için Bir SQLite Veritabanı Kullanma

Artık bir SQLite veritabanıyla nasıl çalışacağınız ve tabloları nasıl yöneteceğiniz konusunda esasları büyük ölçüde biliyorsunuz; geriye sadece SQL sorguları kullanarak yararlı bilgiler çıkarmak kalıyor. Şimdilik, Twitter sosyal medya analiz projem sırasında yaptığım nispeten basit birkaç sorguyu göstereceğim. Bunu, bir SQLite veritabanının gerçek dünya uygulamasını göstermek için küçük bir vaka çalışması olarak düşünebilirsiniz.

Basit bir şeyle başlayalım; Sample_Tweets tablosundaki tüm benzersiz Twitter kullanıcı ekran adlarını bulmak. Bu tweetleri kullandığım projede, öğreticinin başında bahsettiğim kenar listesini oluşturmak için takipçilerini elde etmem gerektiğinden, tweetlerini topladığım tüm benzersiz kullanıcıları bulmam benim için çok önemliydi.

veritabanındaki benzersiz kullanıcılar

Veritabanında 26.860 benzersiz kullanıcı. Dinlediğim konuların web sitesi yerelleştirme ve çeviri olduğunu düşünürsek bu harika bir örneklem. Şimdi, biraz daha karmaşık bir SQL sorgusu kullanarak örneklemde en çok tweet atan ilk 20 kullanıcıya bakalım (retweetler hariç):

ilk 20 kullanıcı

Şuna bakın, en çok tweet atan bir botmuş! Ancak, o listedeki son üye olan UweMuegge, proje için hesapladığım çeşitli ağ istatistiklerine göre oldukça etkileyiciydi. Yine de kesinlikle en önemlisi değildi.

Son olarak, başka bir SQL sorgusu kullanarak UweMuegge'in yazdığı bazı tweetlere göz atalım:

uwemuegge tweetleri

Görünüşe göre iki ana konu var: çeviri iş ilanları ve çeviri konferansları. Alandaki insanların onu Twitter'da neden takip ettiğini açıklıyor.

Yukarıdaki ekran görüntüsünde dikkat çeken bir diğer nokta, SQLite komut satırı arayüzünün sınırlamalarından birine denk gelmeniz. Büyük metin alanlarınız varsa, bunlar güzel görüntülenmez ve okumaları zor olur. Bu nedenle, bu durumda DB Browser for SQLite kullanmak iyi bir fikirdir.

Özet

Bu eğitimde, SQLite veritabanları oluşturmayı ve nokta komutları ile SQL ifadelerini kullanarak tabloları yönetmeyi öğrendiniz. Ayrıca, Twitter'dan gelen verileri yönetmek için bir SQLite veritabanı kullandığım küçük bir gerçek dünya vaka çalışması gördünüz. Oldukça çok şey öğrendiniz, tebrikler!

SQLite veritabanlarının R ve Python ile birlikte kullanıldığında en faydalı olduğunu belirtmek gerekir. Python üzerinden sqlite3 modülünü kullanarak SQLite veritabanlarını yönetebilirsiniz (bunun hakkında daha fazla bilgi edinmek isterseniz Python ile SQLite eğitimine bakın) veya R içinde RSQLite ile kullanabilirsiniz. Aslında, daha önce bahsettiğim Twitter kullanıcılarının takipçilerinden oluşan kenar listesi, her kullanıcının takipçi ağını bir tabloya ekleyerek RSQLIte kullanarak oluşturduğum bir SQLite veritabanında saklanıyor. Projenin bu adımında SQLite kullanımı kritik öneme sahipti; çünkü elektrik kesintileri veya Windows otomatik güncellemeleri bilgisayarınızı zorla kapatabilir ve takipçi ağlarını toplamaya baştan başlamanıza neden olabilir. Twitter'ın API hız sınırları nedeniyle bu yaklaşık 4 hafta sürebilir; dolayısıyla böyle bir durumda 0'dan başlamak hiç istenmeyen bir şeydir. Ancak takipçi ağlarını ilerledikçe bir SQLite veritabanına kaydederseniz, bilgisayarınız zorla kapansa bile veritabanında son sahip olduğunuz kullanıcının sonrasından toplamaya yeniden başlayabilirsiniz; bu da ciddi zaman kazandırır.

Bu, SQLite veritabanlarının bir veri bilimcisinin araç setinde nasıl harika bir araç olabileceğine dair tek bir örnektir. Bu eğitimde ele alınanların ötesinde, SQLite veritabanları ve SQL hakkında daha fazla araştırma yapmanızı teşvik ediyorum. Öğrenmeye devam edin; sınır gökyüzü!

SQL konusunda daha fazla öğrenmek isterseniz, DataCamp'in Introduction to Relational Databases in SQL kursunu alın.

Konular
SQL
Veri Bilimi
Veri Analizi

SQL hakkında daha fazlasını öğrenin

Kurs

SQL ile Veri İşleme

4 sa
337.2K
Veri Bilimi sorularını yanıtlamak ve PostgreSQL’de analiz için sağlam veri kümeleri hazırlamak üzere gerekli karmaşık SQL sorgularında ustalaşın.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Devamını GörDevamını Gör