SQLite nedir? SQLite, kullanımı kolay ve hafif bir ilişkisel veritabanı yönetim sistemidir İşletim sistemine bağımlı olmadığı için çeşitli cihazlarda ve platformlarda kullanılır SQLite, SQL sorguları ile verilerin yönetilmesine olanak tanır ve yazılım geliştirme projelerinde sıkça kullanılır Detaylar için sitemizi ziyaret edin
SQLite, açık kaynak kodlu, yerel olarak depolanan ve yönetilen bir SQL veritabanı motorudur. SQLite veritabanı, tek bir dosya olarak saklanır ve uygulama tarafından doğrudan erişilebilir. Bu özellikler, SQLite'ı kolayca entegre edilebilir, hızlı ve hafif bir veritabanı motoru yapar.
SQLite, birçok programlama dilinde kullanılabilir ve genellikle mobil cihazlar, masaüstü uygulamaları ve gömülü sistemlerde kullanılır. Ayrıca, işletmeler ve organizasyonlar tarafından da veritabanı depolama ihtiyaçlarını karşılamak için sıklıkla kullanılır.
SQLite'ın hızlı ve zarif tasarımı, SQL sorgularını dört temel işlem adımında yürütmek için optimize edilmiştir: parse (ağaç yapısına çevirme), compile (bytecode oluşturma), execute (bytecode yürütme) ve deallocate (kaynakları serbest bırakma). Bu, SQLite'ın hızlı ve verimli bir SQL veritabanı motoru olduğu anlamına gelir.
SQLite ve Pandas Arasındaki Bağlantı
Pandas, sadece verileri çalıştıran bir veri analizi kütüphanesi değil, aynı zamanda verileri depolamak ve yönetmek için de bir araç sunar. Bu amaçla, Pandas SQLite veritabanı dosyalarını okuyabilir ve yazabilir. Bu, büyük ölçekte verileri yönetmek için oldukça faydalı bir özellik olarak karşımıza çıkıyor.
Pandas, pd.read_sql () yöntemi ile mevcut bir SQLite veritabanındaki tabloları okuyabilir ve bunları bir DataFrame olarak döndürebilir. Bunun yanı sıra, bir DataFrame'i to_sql () yöntemi ile SQLite veritabanına yazabilirsiniz. Bu yöntem sayesinde, verileri kolaylıkla depolayabilir ve gelecekte erişerek analiz edebilirsiniz.
Bu bağlantı özelliği, SQLite veritabanı dosyalarını kullanan ve verileri yöneten herhangi bir uygulama için oldukça faydalıdır. Bunun yanı sıra, SQL dilinin anlaşılması ve uygulanması Pandas ile oldukça kolaydır.
Veritabanı Oluşturma
SQLite, verilerin depolanması ve yönetilmesi için birçok seçenek sunar. Veritabanı oluşturma konusunda da oldukça basit bir yöntem sunar. Yapmanız gereken tek şey, bir SQLite veritabanı dosyası oluşturmak ve ardından dosyayı işlemek için uygun araçları kullanmak.
Veritabanı oluşturma işlemi için öncelikle bir dosya oluşturmak yeterlidir. SQLite database dosyası, herhangi bir metin dosyası gibi bir dosyadır. Dosya uzantısına ".db" eklendiğinde SQLite veritabanı dosyası olarak kabul edilir. Bir sonraki adım, SQLite aracını kullanarak yeni bir veritabanı oluşturmak için .db dosyasına bağlanmaktır.
Ardından, tabloları oluşturmak için CREATE TABLE ifadesi kullanılır. Bu ifade yeni bir tablo oluşturmak ve sütunlara birer isim vermek için kullanılır. Sütunların veri türleri ve özellikleri de bu ifadede belirtilir. Tabloyu oluşturduktan sonra, sütunlara veri eklemek için INSERT INTO ifadesini kullanabilirsiniz.
SQLite veritabanı oluşturma işlemi oldukça basittir. Sadece bir dosya oluşturun, dosyaya bağlanın, tablo oluşturun ve sütunlara veri ekleyin. Ardından, verileri sorgulamak, yeniden yapılandırmak veya silmek için uygun araçları kullanabilirsiniz.
Tablo Oluşturma
SQLite veritabanı işlemlerinde en önemli adımlardan biri, yeni bir tablo oluşturmaktır. CREATE TABLE ifadesi, yeni bir tablo oluşturmak için kullanılır. Ancak, tablolar oluşturulurken dikkate alınması gereken çeşitli özellikler vardır. Örneğin, her bir sütun için veri tipi ve diğer özellikler belirtilmelidir.
CREATE TABLE ifadesi, ayrıca tablonun adını da belirtir. Bir tablo oluşturmak için, şu formatta bir CREATE TABLE ifadesi kullanabilirsiniz:
Sütun Adı | Veri Tipi | Özellikler |
---|---|---|
ID | INTEGER | AUTOINCREMENT, PRIMARY KEY |
İsim | TEXT | |
Soyadı | TEXT | |
Yaş | INTEGER |
Bu CREATE TABLE ifadesi, bir müşteri tablosu oluşturur. Tablonun adı müşteri olarak belirlenmiştir. Tablo ayrıca bir ID sütunu içerir, bu sütun otomatik olarak artan bir tamsayıdır ve ayrıca tablonun birincil anahtarıdır. İsim, soyadı ve yaş sütunları da tabloda yer almaktadır. İsim ve soyadı için veri tipi TEXT olarak belirlenirken, yaş sütunu için veri tipi INTEGER olarak belirlenmiştir.
Bunların yanı sıra, sütun özellikleri de belirtilmelidir. Sütun özellikleri, sütunların özel gereksinimlerini belirten ek bilgilerdir. Örneğin, bir sütunun NULL değerlerine izin verip veremeyeceği vb. gibi ayrıntıları belirtilebilir.
Bu şekilde oluşturulan tablolar, farklı veri tiplerini ve özellikleri doğru bir şekilde belirterek SQLite veritabanı işlemlerinde başarı sağlar.
Sütunlar ve Özellikleri Ekleme
Sütunlar ve Özellikleri Ekleme
Tablo oluşturulduktan sonra, sütunlar ve sütun özellikleri belirtilerek tabloya veri eklenebilir. CREATE TABLE ifadesi kullanılarak yeni bir tablo oluşturulurken, sütunların belirtilmesi için ilgili ifade kullanılmalıdır.
Sütun adı, her satırda hangi veri türünün bulunacağını belirtir ve belirli özellikler eklenerek hücresel veri yapısı biçimlendirilebilir. Örnek olarak, "INTEGER", "TEXT" veya "REAL" veri türleri kullanılabilir. Ayrıca, "PRIMARY KEY", "NOT NULL" veya "UNIQUE" gibi özellikler de sütunların tanımlanmasında kullanılabilir.
Sütun Adı | Veri Türü | Özellik |
---|---|---|
ID | INTEGER | PRIMARY KEY |
Ad | TEXT | NOT NULL |
Soyad | TEXT |
Yukarıdaki örnekte, "ID" sütunu "INTEGER" veri türüyle tanımlandı ve "PRIMARY KEY" özelliği eklenerek benzersiz olacak şekilde belirlendi. "Ad" sütunu "TEXT" veri türüyle oluşturuldu ve "NOT NULL" özelliği ile boş olamayacak bir sütun olarak belirtildi. "Soyad" sütunu ise "TEXT" veri türüyle tanımlandı ve herhangi bir özellik verilmedi.
Sütunların doğru şekilde belirtilmesi önemlidir, çünkü sorguların düzgün çalışabilmesi için veritabanı yapısını doğru bir şekilde yansıtmalıdır.
Verileri Eklemek
SQLite ile bir veritabanı oluşturduktan sonra, kullanıcılar tabloya veri ekleyebilirler. Veri ekleme işlemi, SQLite'in INSERT INTO ifadesi kullanılarak gerçekleştirilir. Bu ifade, tablonun hangi sütunlarına hangi değerlerin ekleneceğini belirtmek için kullanılır.
Örneğin, bir müşteri tablosuna yeni bir müşteri eklemek için aşağıdaki komut kullanılabilir:
INSERT INTO Customers (FirstName, LastName, Email) VALUES ('John', 'Doe', 'johndoe@example.com');
Yukarıdaki kod, Customers tablosuna "John", "Doe" ve "johndoe@example.com" değerlerini ekler. FirstName, LastName ve Email, sütun adlarıdır ve VALUES, eklenen verilerin sırasını belirtir.
Ayrıca, aynı sorgu kullanılarak birden fazla veri satırı da eklenebilir:
INSERT INTO Customers (FirstName, LastName, Email) VALUES ('John', 'Doe', 'johndoe@example.com'), ('Jane', 'Doe', 'janedoe@example.com');
Yukarıdaki örnek, John Doe ve Jane Doe adlı iki müşteriyi Customers tablosuna ekler.
Veri ekleme işlemi, tablolara veri eklemek için en temel yöntemdir ve genellikle diğer sorgularla birlikte kullanılır. Sorgulama yapmadan önce verilerin doğru şekilde eklenmesi önemlidir.
Verileri Sorgulama
Verileri Sorgulama bölümü, SQLite veritabanından veri alma işlemini anlatır. SELECT ifadesi ile yapılan bu işlemde, tablodan belirli sütunlar veya tüm kayıtlar seçilebilir. Sorgu sonuçları, belirli bir koşula göre filtrelenerek veya özetlenerek daha okunaklı hale getirilebilir.
SELECT ifadesi, genellikle sorgu başlatmak için kullanılır ve FROM ifadesi ile birlikte gelir. Örneğin, "SELECT İsim, Yaş FROM müşteriler" ifadesi, müşteriler tablosundan İsim ve Yaş sütunlarını seçer.
Bir sorgu daha fazla özellik ekleyebilir. Örneğin, "SELECT İsim, Yaş FROM müşteriler WHERE Yaş>18" ifadesi, sadece 18 yaşından büyük olan müşterilerin isimleri ve yaşlarını seçer.
Sorgu sonuçları, ORDER BY ifadesi ile belirli bir sıraya göre sıralanabilir. ASC (artan) veya DESC (azalan) sıralama kullanılabilir. "SELECT İsim, Yaş FROM müşteriler ORDER BY Yaş ASC" ifadesi, müşteriler tablosundaki yaş sütununa göre küçükten büyüğe doğru sıralanır.
GROUP BY ifadesi, benzer değerlere sahip sütunları gruplandırarak verileri özetleyebilir. Gruplama, genellikle toplama veya bir ortalama hesaplama için kullanılır. "SELECT Şehir, MAX(Yaş) FROM müşteriler GROUP BY Şehir" ifadesi, her şehirden en yaşlı müşteriyi seçer.
Bu bölümde kullanılan ifadelere ek olarak, sorgular daha da geliştirilebilir. SQLite, birleşim, alt sorgular ve diğer özellikler gibi daha gelişmiş sorgu özelliklerine sahiptir. Bunlar, veritabanınızın ihtiyaçlarına göre kullanılabilir.
Filtreleme
Bir SQLite veritabanı üzerinde sorgular kullanırken, işlemi daha verimli hale getirmek için WHERE ifadesi kullanarak sorguyu filtrelenebilirsiniz. WHERE ifadesi, sorguya belirli koşullar ekleyerek, yalnızca belirtilen koşulları karşılayan verileri getirir. Bu, sorgu sonucunu sınırlandırarak, daha spesifik ve değerli sonuçlar almanıza yardımcı olur.
WHERE ifadesi, daha spesifik verileri elde etmek için, sorguda farklı operatörler kullanarak koşullar oluşturmanıza izin verir. Operatörler arasında eşitlik, büyük/küçük, benzerlik ve dahil olma yer alır.
Operatör | Anlamı |
---|---|
= | Eşittir |
< | Küçüktür |
> | Büyüktür |
<= | Küçük eşittir |
>= | Büyük eşittir |
LIKE | Benzer |
IN | Dahil olur |
Örneğin, WHERE ifadesi kullanarak "customers" tablosundan sadece "city" sütununda "Istanbul" olan kayıtları alabilirsiniz.
SELECT * FROM customersWHERE city = 'Istanbul'
Bu sorgu, yalnızca "city" sütunundaki değeri "Istanbul" olan müşterileri getirecektir.
WHERE ifadesi, sorguya birden fazla koşul eklemek için kullanılabilir. Örneğin, "customers" tablosundaki "city" sütununda "Istanbul" olan ve "age" sütununda 25'ten büyük olan müşterileri getiren bir sorgu için, aşağıdaki ifade kullanılabilir:
SELECT * FROM customersWHERE city = 'Istanbul' AND age > 25
Bu sorgu, yalnızca "city" sütunundaki değeri "Istanbul" olan ve "age" sütunundaki değeri 25'ten büyük olan müşterileri getirir.
Bu özellikler, WHERE ifadesinin sorgulara nasıl koşullar ekleyebileceğinizi göstermektedir. Bu, veritabanlarını daha etkili bir şekilde sorgulamak için önemli bir araçtır ve SQLite'nin güçlü özelliklerinden biridir.
Özetleme
Özetleme: SQLite'da birçok veri sorgulama işlemi kolayca gerçekleştirilebilir. Bu işlemlerden biri de GROUP BY ifadesi kullanarak sorguların verileri gruplandırması ve özetlemesi işlemidir. GROUP BY ifadesi, belirli bir sütunu kullanarak verileri gruplandırır ve her grubun özetini sağlar.
Örneğin, bir öğrenci veritabanında tüm öğrencilerin notları saklanabilir. GROUP BY ifadesi kullanarak, öğrencilerin notları, sınıf düzeyine veya konuya göre gruplandırılabilir. Bu, öğretmenlerin öğrencilerin performansını daha iyi anlamasına ve sınıf performansını analiz etmesine yardımcı olabilir.
GROUP BY ifadesi, verileri sayma, ortalamaları hesaplama, toplamı veya ortalama değerleri gösterme gibi istatistiksel işlemleri gerçekleştirirken de kullanılabilir. Ayrıca, GROUP BY ifadesi, her gruptaki en yüksek veya en düşük değerleri de gösterebilir.
GROUP BY ifadesi, verileri etkili bir şekilde özetleyebilir ve kullanıcılara verilerin farklı açılardan analiz edilmesine olanak tanır. Bu, birçok analitik işlem için oldukça faydalıdır ve veri bilimi uygulamalarında sıklıkla kullanılır.
Birleştirme
SQLite, birden fazla tabloyu birleştirmek için JOIN ifadesini kullanır. JOIN ifadesi, ilgili sütunlara göre iki veya daha fazla tabloyu bir araya getirir.
SQLite'deki join türleri şunlardır:
- INNER JOIN: Her iki tablodaki ilgili verileri döndürür.
- LEFT JOIN: Sol tablodaki tüm verileri ve sağ tablodaki ilgili verileri döndürür.
- RIGHT JOIN: Sağ tablodaki tüm verileri ve sol tablodaki ilgili verileri döndürür.
- FULL OUTER JOIN: Her iki tablodaki tüm verileri döndürür.
Tabloları birleştirmeden önce, bir sorgu yazarken tablo isimlerinin veya sütun adlarının kolay anlaşılır olmasını sağlamak için tablo isimleri kısaltılabilir.
Örneğin, bir müşteri listesi ve siparişler tablosu varsa, INNER JOIN ifadesi kullanarak her müşterinin siparişlerini sorgulayabilirsiniz. Sorgu şu şekilde olacaktır:
Tablolar | Kısaltmalar |
---|---|
customers | c |
orders | o |
SELECT c.customer_name, o.order_dateFROM customers cINNER JOIN orders oON c.customer_id = o.customer_id;
Böylece, iki tablonun ilgili sütunlarını bir araya getiren bir sorgu yazılmış olur.
Veritabanı Yönetimi
Veritabanı yönetimi, veritabanını daha iyi organize etmek ve performansını artırmak için çeşitli işlemler içerir. Veritabanı yeniden yapılandırma veya silme, bu işlemlerin başında gelir. SQLite, bu işlemleri gerçekleştirmek için DROP ifadesini kullanır.
DROP ifadesi, veritabanından tablo ya da sütun silmek için kullanılır. Bu ifade, veritabanı yapısını bozmak anlamına gelir ve bu nedenle dikkatli kullanılmalıdır. Veritabanı yapılandırmasını değiştirmeden önce tüm verilerin yedeklenmesi önerilir.
Aşağıdaki tabloda, DROP ifadesi alıntıları ve açıklamaları bulunmaktadır:
İfade | Açıklama |
---|---|
DROP TABLE "table_name"; | Belirtilen tabloyu siler. |
DROP INDEX "index_name"; | Belirtilen indeksi siler. |
DROP VIEW "view_name"; | Belirtilen görünümü siler. |
DROP TRIGGER "trigger_name"; | Belirtilen tetikleyiciyi siler. |
DROP ifadesini kullanırken dikkat edilmesi gereken bazı önemli noktalar vardır. Öncelikle, belirtilen tablonun verileri tamamen silinir ve geri alınamaz hale gelir. Bu nedenle, tablo içindeki verilerin yedeklenmesi önemlidir. Ayrıca, tabloya bağlı diğer tablolar veya görünümler de etkilenebilir, bu nedenle tüm ilişkili öğeleri de dikkate almak önemlidir.
DROP ifadesi, veritabanı yönetiminde yaygın olarak kullanılan bir SQL ifadesidir. SQLite, hızlı ve güçlü olması nedeniyle birçok uygulama tarafından kullanılır. Bu nedenle, veritabanı yönetimi hakkında temel bilgilere sahip olmak, SQLite kullanıcıları için oldukça faydalıdır.
Verileri Güncelleme
Veritabanlarını yönetmek, veritabanlarında oluşabilecek değişiklikleri takip etmek oldukça önemlidir. Verilerin güncelleştirilmesi de bu değişiklikler arasında yer alır. SQLite'ta verileri güncelleştirmek için UPDATE ifadesi kullanılır. UPDATE, tablodaki bir veya daha çok satırın verilerini güncellemek için kullanılır. UPDATE ifadesi, güncellenecek sütunun adını ve yeni değeri belirterek kullanılır. Ayrıca, belirtilen koşulların karşılanması durumunda sadece belli bir satır veya sütunu güncelleyebilirsiniz.
Örneğin, bir kitaplar tablosu oluşturduğunuzu varsayalım. Kitapların adı, yazarı ve basım tarihi gibi bilgileri içeren bir tablo. Ardından, yazarı Orwell olan kitapların basım tarihini değiştirmek istediğinizi varsayalım. İşte böyle bir durumda UPDATE ifadesi işinize yarayacaktır.
Önce güncellenmek istenen kayıtları belirlemek için WHERE koşulunu kullanmanız gerekiyor. Ardından, SET ifadesiyle, güncellemek istediğiniz sütun ve değerini belirtin.
Örneğin:
UPDATE kitaplar SET basim_tarihi='1950' WHERE yazar='Orwell';
Bu kod, kitap tablosunda yazarı 'Orwell' olan tüm kitapların basım tarihini '1950' yapacak şekilde güncelleyecektir.
Şimdi, kitap özeti tablosunun yazar adı ve kitap özetlerini içeren bir başka tablo düşünün. Bu tablodan kitaplar tablosuna referans vermek istiyorsunuz. Bu durumda, UPDATE ifadesi kullanmadan önce JOIN ifadesini kullanarak tabloları birleştirmeniz gerekebilir.
Örneğin:
UPDATE kitaplar SET basim_tarihi='1950' WHERE yazar IN (SELECT yazar_adı FROM yazarlar WHERE yazarlar.ad='Orwell');
Bu kod, yazarlar tablosundan Orwell adlı yazarın adını alır ve kitaplar tablosundaki söz konusu tüm kitapların basım tarihini 1950 olarak günceller.
UPDATE ifadesiyle yapabilecekleriniz bu kadarla sınırlı değil. Örneğin, tek bir satırı veya sütunu güncelleme seçeneği de mevcuttur. Ancak, bu tip bilgilerin güncellenmesi için belirtilen koşullar dikkatli bir şekilde düzenlenmelidir.
Verileri Silme
SQLite ile veritabanı işlemlerinin bir diğer önemli yönü, belirli bir koşula göre verileri silme işlemleridir. Bu iş için kullanılan temel ifade, DELETE ifadesidir. Bu ifade, verileri filtreleyerek belirtilen koşullara uyan tüm verileri silmek için kullanılabilir.
DELETE ifadesinde, WHERE ifadesi ile birlikte kullanarak belirli bir koşula göre verileri silmek mümkündür. Örneğin, belirli bir tarihten önceki tüm verileri silmek istiyoruz. Bu durumda WHERE ifadesiyle tarih sütununa erişebiliriz ve belirlediğimiz tarihten önceki tüm verileri DELETE ifadesiyle silebiliriz.
Buna ek olarak, SQLite'da birden fazla tablo olması durumunda JOIN ifadesi kullanarak, silme işlemlerinde veritabanındaki birden fazla tablodan veri alabilir ve belirli bir koşula göre silme işlemi yapabilirsiniz.
Herhangi bir veritabanı yönetimi veya web geliştirme projesinde, belirli bir veri grubunu silmeniz gerekebilir. SQLite'daki DELETE ifadesi bu işlem için oldukça etkilidir. Veritabanında istenmeyen verilerin silinmesi, gevşek bağlantılar veya kötü niyetli saldırıların önlenmesi gibi birçok senaryoda yararlı olabilir.