SQL Temel Komutları: Veri Yönetiminin ABC’si

Veritabanları, modern uygulamaların ve işletmelerin can damarıdır. Bu veritabanlarında saklanan devasa miktardaki bilgiyi anlamlı bir şekilde kullanabilmek, yönetebilmek ve işleyebilmek için Yapılandırılmış Sorgu Dili (SQL) kullanılır. SQL’in temel taşlarından biri olan Veri İşleme Dili (DML – Data Manipulation Language) komutları, veritabanındaki kayıtlar üzerinde doğrudan işlem yapmamızı sağlar. Bu komutlar; veri seçme, ekleme, güncelleme ve silme gibi en temel ve sık gerçekleştirilen operasyonları kapsar. Bu makalede, SQL DML’nin dört ana komutu olan SELECT, INSERT, UPDATE ve DELETE komutlarını ayrıntılı bir şekilde inceleyeceğiz.
Verileri Çekmek: SELECT Komutu
SELECT komutu, belki de SQL’de en sık kullanılan komuttur. Temel amacı, bir veya daha fazla tablodan veri sorgulamak ve sonuç kümesi olarak geri döndürmektir. En basit kullanımı, bir tablodaki tüm sütunları ve satırları getirmektir.
SELECT * FROM musteriler;
Bu sorgu, musteriler adlı tablodaki tüm kayıtları, tablonun sahip olduğu tüm sütunlarla birlikte getirecektir. Ancak genellikle tüm verilere değil, belirli sütunlara ihtiyaç duyarız. Bu durumda, istediğimiz sütun adlarını belirtmemiz yeterlidir:
SELECT adi, soyadi, email FROM musteriler;
Bu sorgu, musteriler tablosundan sadece adi, soyadi ve email sütunlarını içeren verileri getirecektir. Veri çekerken, sonuçları belirli koşullara göre filtrelemek de mümkündür. Bu, WHERE yan cümlesi ile yapılır (ileriki makalelerde detaylandırılacaktır). Örneğin, yalnızca belirli bir şehirdeki müşterileri listelemek isteyebiliriz:
SELECT adi, soyadi FROM musteriler WHERE sehir = 'İstanbul';
SELECT komutu ayrıca, hesaplanmış alanlar oluşturmak, verileri sıralamak (ORDER BY), gruplamak (GROUP BY) ve birleştirmek (JOIN) gibi çok daha karmaşık işlemler için de kullanılabilir. Veri tekrarını önlemek için DISTINCT anahtar kelimesi de kullanılabilir. Örneğin, müşterilerin bulunduğu farklı şehirleri listelemek için:
SELECT DISTINCT sehir FROM musteriler;
Bu komut, musteriler tablosundaki her şehirden yalnızca bir tane olacak şekilde sonuç döndürür.
Yeni Veri Eklemek: INSERT Komutu
Veritabanına yeni kayıtlar eklemek için INSERT INTO komutu kullanılır. Bu komut, verinin hangi tabloya ekleneceğini ve eklenecek değerleri belirtir. Temel sözdizimi şu şekildedir:
INSERT INTO tablo_adi (sutun1, sutun2, sutun3, ...)
VALUES (deger1, deger2, deger3, ...);
Örneğin, calisanlar tablosuna yeni bir çalışan ekleyelim:
INSERT INTO calisanlar (calisan_id, adi, soyadi, departman, maas)
VALUES (101, 'Ahmet', 'Yılmaz', 'IT', 7500);
Eğer tablonun tüm sütunlarına sırasıyla değer ekliyorsanız, sütun adlarını belirtmek zorunda değilsiniz. Ancak bu, tablonun sütun yapısının değişmesi durumunda sorunlara yol açabileceğinden genellikle tavsiye edilmez.
INSERT INTO calisanlar
VALUES (102, 'Ayşe', 'Kara', 'Pazarlama', 6800);
Birden fazla satırı tek bir INSERT komutuyla eklemek de mümkündür, ancak bu sözdizimi veritabanı sistemine göre değişiklik gösterebilir.
Mevcut Verileri Güncellemek: UPDATE Komutu
Zamanla, veritabanındaki kayıtların güncellenmesi gerekebilir. Bir müşterinin adresi değişebilir, bir ürünün fiyatı güncellenebilir veya bir çalışanın pozisyonu değişebilir. Bu tür değişiklikler için UPDATE komutu kullanılır. UPDATE komutunun en kritik parçası WHERE yan cümlesidir. WHERE yan cümlesi, hangi kayıtların güncelleneceğini belirtir. Eğer WHERE yan cümlesi kullanılmazsa, tablodaki tüm kayıtlar güncellenir, bu da genellikle istenmeyen bir durumdur ve büyük veri kayıplarına yol açabilir.
Temel sözdizimi:
UPDATE tablo_adi
SET sutun1 = deger1, sutun2 = deger2, ...
WHERE kosul;
Örneğin, calisanlar tablosunda calisan_id‘si 101 olan Ahmet Yılmaz’ın maaşını ve departmanını güncelleyelim:
UPDATE calisanlar
SET maas = 8200, departman = 'Kıdemli Yazılımcı'
WHERE calisan_id = 101;
Bu komut, yalnızca calisan_id‘si 101 olan kaydın maas ve departman sütunlarını belirtilen yeni değerlerle günceller. Birden fazla sütunu aynı anda güncelleyebilirsiniz. Eğer WHERE calisan_id = 101; kısmını eklemeseydik, tablodaki tüm çalışanların maaşı 8200 ve departmanı ‘Kıdemli Yazılımcı’ olarak değişirdi.
Veri Silmek: DELETE Komutu
Veritabanından artık ihtiyaç duyulmayan kayıtları kaldırmak için DELETE FROM komutu kullanılır. UPDATE komutunda olduğu gibi, DELETE komutunda da WHERE yan cümlesi hayati öneme sahiptir. WHERE yan cümlesi, hangi kayıtların silineceğini belirler. Eğer WHERE yan cümlesi kullanılmazsa, tablodaki tüm kayıtlar silinir.
Temel sözdizimi:
DELETE FROM tablo_adi WHERE kosul;
Örneğin, urunler tablosundan stokta olmayan (stok_miktari = 0) ürünleri silelim:
DELETE FROM urunler WHERE stok_miktari = 0;
Bu komut, stok_miktari sütunu 0 olan tüm ürünleri tablodan kaldıracaktır. Belirli bir ürünü silmek için genellikle o ürünün benzersiz bir tanımlayıcısı (örneğin, urun_id) kullanılır:
DELETE FROM urunler WHERE urun_id = 'XYZ123';
Tablodaki tüm verileri silmek istiyorsanız (ancak tablo yapısını korumak istiyorsanız), DELETE FROM tablo_adi; komutunu kullanabilirsiniz. Ancak bu işlem, özellikle büyük tablolarda TRUNCATE TABLE komutuna göre daha yavaş olabilir ve işlem loglarında daha fazla yer kaplayabilir. TRUNCATE TABLE komutu DDL komutudur ve daha farklı bir mekanizma ile çalışır.
DML Komutlarının Önemi ve Kullanım Alanları
SELECT, INSERT, UPDATE ve DELETE komutları, bir veritabanıyla etkileşim kurmanın temelini oluşturur. Bu komutlar sayesinde:
- Uygulamalar kullanıcıya bilgi sunabilir (örneğin, bir e-ticaret sitesinde ürünleri listelemek).
- Yeni veriler sisteme kaydedilebilir (örneğin, yeni bir kullanıcı kaydı oluşturmak).
- Mevcut bilgiler güncel tutulabilir (örneğin, bir kullanıcının profil bilgilerini değiştirmesi).
- Gereksiz veya yanlış veriler sistemden kaldırılabilir.
Bu komutların doğru ve etkin kullanımı, veri bütünlüğünü korumak, performansı optimize etmek ve uygulamanın genel sağlığını sağlamak için kritik öneme sahiptir. Özellikle UPDATE ve DELETE komutlarını kullanırken, WHERE koşulunun doğruluğundan emin olmak, istenmeyen veri değişikliklerini veya kayıplarını önlemek için hayati bir adımdır. Veritabanı işlemlerinde her zaman dikkatli olmak ve mümkünse işlemleri önce test ortamında denemek iyi bir pratiktir.
Sonuç olarak, DML komutları SQL öğrenme sürecinin ilk ve en önemli adımlarından biridir. Bu komutlara hakim olmak, veritabanları dünyasında daha karmaşık konulara geçiş yapmak için sağlam bir temel oluşturur.


Leave A Comment