SQL Temel Komutları: SELECT, UPDATE, INSERT, DELETE
Veri tabanları, modern dünyanın dijital hafızasıdır ve bu hafızayı yönetmek, sorgulamak ve güncellemek için güçlü bir dile ihtiyacımız vardır: SQL (Structured Query Language). SQL, veri tabanlarıyla iletişim kurmamızı sağlayan standart bir programlama dilidir. Bu makalede, SQL’in en temel ve en sık kullanılan dört komutunu, yani SELECT, UPDATE, INSERT ve DELETE komutlarını derinlemesine inceleyeceğiz. Bu komutlar, bir veri tabanındaki bilgiyi okumanın, yeni veri eklemenin, mevcut veriyi değiştirmenin ve istenmeyen veriyi silmenin anahtarlarıdır.
- SQL’in ne olduğunu ve veri tabanı yönetimindeki rolünü anlayacaksınız.
- SELECT komutunu kullanarak veri tabanından nasıl bilgi çekileceğini öğreneceksiniz.
- INSERT INTO komutu ile veri tabanına yeni kayıtların nasıl eklendiğini kavrayacaksınız.
- UPDATE komutunu kullanarak mevcut verilerin nasıl güncellendiğini keşfedeceksiniz.
- DELETE FROM komutu ile veri tabanından kayıtların nasıl silindiğini öğreneceksiniz.
- Temel SQL komutlarının birbiriyle nasıl etkileşime girdiğini ve pratik senaryolarda nasıl kullanıldığını göreceksiniz.
- SQL: Veri tabanlarıyla iletişim kurmak için kullanılan standart dildir.
- DML Komutları: Veri Manipülasyon Dili (Data Manipulation Language) komutlarıdır.
- SELECT: Veri tabanından veri okumak (sorgulamak) için kullanılır.
- INSERT INTO: Veri tabanına yeni kayıtlar eklemek için kullanılır.
- UPDATE: Mevcut kayıtların değerlerini değiştirmek için kullanılır.
- DELETE FROM: Veri tabanından kayıtları silmek için kullanılır.
- Bu komutlar, veri tabanı yönetiminin temel taşlarıdır ve her veri uzmanının bilmesi gereken becerilerdir.
Veri Tabanı Yönetiminde SQL’in Yeri ve Önemi
Günümüzde her alanda büyük miktarda veri üretiliyor. Bankacılıktan e-ticarete, sağlıktan eğitime kadar her sektör, verileri düzenlemek, depolamak ve anlamlı bilgilere dönüştürmek için veri tabanlarına bağımlıdır. İşte tam bu noktada SQL devreye girer. SQL, bu veri tabanları ile konuşmamızı sağlayan evrensel bir dildir.
SQL Nedir?
SQL, “Structured Query Language” yani “Yapısal Sorgu Dili” anlamına gelir. 1970’lerde IBM tarafından geliştirilen ve daha sonra ANSI ve ISO tarafından standartlaştırılan bir dildir. SQL, genellikle ilişkisel veri tabanı yönetim sistemleri (RDBMS) ile kullanılır. MySQL, PostgreSQL, Oracle, SQL Server gibi popüler veri tabanları SQL’i kullanır.
Veri Tabanı Yönetim Sistemleri (VTYS)
Bir veri tabanı yönetim sistemi, verilerin depolanması, yönetilmesi, geri alınması ve güvenliğinin sağlanması için kullanılan yazılımdır. SQL, bu sistemlerin kalbinde yer alır. Veri tabanlarındaki tabloları oluşturmak, değiştirmek ve üzerindeki verileri manipüle etmek için SQL komutları kullanılır. Kullanıcılar, SQL sorguları aracılığıyla veri tabanıyla etkileşime girer.
Neden SQL Öğrenmeliyiz?
SQL öğrenmek, veri dünyasında kapıları aralamanın ilk adımıdır. Veri analistleri, yazılım geliştiricileri, veri bilimcileri ve hatta pazarlamacılar bile SQL bilgisine ihtiyaç duyar. Veri tabanından bilgi çekme, raporlama yapma, uygulama geliştirme süreçlerinde veri tabanını entegre etme gibi birçok kritik görev, SQL bilgisi gerektirir. “SQL öğrenmek ne işe yarar?” diye merak ediyorsanız, kariyerinizde size geniş fırsatlar sunacağını söyleyebiliriz.
SELECT Komutu: Veri Çekmenin Temeli
SELECT komutu, SQL’in en sık kullanılan komutudur ve veri tabanından veri okumak, yani sorgulamak için kullanılır. Veri tabanındaki bir veya birden fazla tablodan belirli sütunları veya tüm sütunları çekmenizi sağlar.
Temel SELECT Kullanımı
Bir tablodaki tüm verileri görmek istediğinizde `SELECT *` ifadesini kullanabilirsiniz. Yıldız (`*`) işareti, o tablodaki tüm sütunları seç anlamına gelir.
Diyelim ki bir ‘Musteriler’ tablonuz var ve tüm müşteri bilgilerini görmek istiyorsunuz:
SELECT *
FROM Musteriler;
Eğer sadece belirli sütunları görmek isterseniz, yıldız yerine o sütunların adlarını virgülle ayırarak yazabilirsiniz.
SELECT MusteriAdi, Sehir, Eposta
FROM Musteriler;
WHERE Koşulu ile Filtreleme
Genellikle bir tablodaki tüm veriye değil, belirli koşulları sağlayan verilere ihtiyacımız olur. `WHERE` koşulu, bu filtrelemeyi yapmamızı sağlar. “SQL’de filtreleme nasıl yapılır?” sorusunun cevabı `WHERE` komutudur.
Ankara’da yaşayan müşterileri listelemek için:
SELECT MusteriAdi, Eposta
FROM Musteriler
WHERE Sehir = 'Ankara';
Birden fazla koşulu birleştirmek için `AND`, `OR` operatörlerini kullanabilirsiniz.
📚 Ders rehberi: Veri Tabanı Yedekleme ve Geri Yükleme Nasıl Yapılır?
SELECT MusteriAdi, Sehir
FROM Musteriler
WHERE Sehir = 'İstanbul' AND Yas > 30;
') kullanmayı unutmayın. Sayısal değerler için tırnak kullanmaya gerek yoktur.ORDER BY ile Sıralama
Sorguladığınız verileri belirli bir sütuna göre artan (ASC) veya azalan (DESC) sırada sıralamak isteyebilirsiniz. Bunun için `ORDER BY` komutu kullanılır.
SELECT MusteriAdi, Sehir
FROM Musteriler
ORDER BY MusteriAdi ASC; -- Artan sırada sıralama (A-Z)
SELECT MusteriAdi, Sehir
FROM Musteriler
ORDER BY Yas DESC; -- Azalan sırada sıralama (en yaşlıdan en gence)
DISTINCT ile Tekil Değerler
Bir sütundaki yinelenen değerleri ortadan kaldırarak yalnızca tekil (benzersiz) değerleri görmek için `DISTINCT` anahtar kelimesini kullanırız. Örneğin, “SQL’de tekrarlayan değerler nasıl bulunur?” sorusunun bir cevabı `DISTINCT` ile bu değerleri saymaktır.
SELECT DISTINCT Sehir
FROM Musteriler;
LIMIT/TOP ile Sınırlama
Büyük veri tabanlarında tüm sonuçları görmek istemeyebiliriz. Sadece ilk birkaç kaydı getirmek için `LIMIT` (MySQL, PostgreSQL) veya `TOP` (SQL Server) kullanılır.
MySQL/PostgreSQL için:
📚 İlgili konu: Veri Tabanı Güvenliği: En İyi Uygulamalar
SELECT MusteriAdi, Sehir
FROM Musteriler
LIMIT 5;
SQL Server için:
SELECT TOP 5 MusteriAdi, Sehir
FROM Musteriler;
INSERT INTO Komutu: Veri Ekleme
Veri tabanınıza yeni bir kayıt eklemek istediğinizde `INSERT INTO` komutunu kullanırsınız. Bu komut, bir tablonun belirli sütunlarına veya tüm sütunlarına veri eklemenizi sağlar.
Temel INSERT INTO Kullanımı
Bir tablonun tüm sütunlarına veri ekliyorsanız, sütun adlarını belirtmeden doğrudan `VALUES` ile değerleri girebilirsiniz. Ancak bu durumda değerlerin sırası, tablonun sütun sırasıyla eşleşmelidir.
INSERT INTO Musteriler
VALUES (101, 'Ayşe Yılmaz', 35, 'İstanbul', 'ayse.yilmaz@example.com');
Belirli Sütunlara Veri Ekleme
Genellikle tablonun tüm sütunlarına veri eklemek istemeyebiliriz veya bazı sütunlar otomatik olarak değer alıyor olabilir (örn: ID). Bu durumda, veri eklemek istediğimiz sütunları belirtiriz.
Sadece müşteri adı, şehir ve e-posta bilgilerini eklemek için:
INSERT INTO Musteriler (MusteriAdi, Sehir, Eposta)
VALUES ('Can Demir', 'İzmir', 'can.demir@example.com');
NOT NULL olarak tanımlanmış bir sütuna değer girmezseniz hata alırsınız.UPDATE Komutu: Veri Güncelleme
Mevcut bir kayıtta bir veya birden fazla sütunun değerini değiştirmek istediğinizde `UPDATE` komutunu kullanırsınız. Bu komut, veri tabanındaki bilgileri güncel tutmak için hayati öneme sahiptir.
Temel UPDATE Kullanımı
`UPDATE` komutu, `SET` anahtar kelimesiyle hangi sütunun hangi yeni değere ayarlanacağını belirtir ve `WHERE` koşuluyla hangi kayıtların güncelleneceğini tanımlar.
Müşteri ID’si 101 olan Ayşe Yılmaz’ın şehrini ‘Ankara’ olarak güncellemek için:
UPDATE Musteriler
SET Sehir = 'Ankara'
WHERE MusteriID = 101;
Birden fazla sütunu aynı anda güncelleyebilirsiniz:
UPDATE Musteriler
SET Sehir = 'Bursa', Eposta = 'ayse.yeni@example.com'
WHERE MusteriID = 101;
UPDATE komutunda WHERE koşulunu kullanmak KRİTİKTİR! Eğer WHERE koşulu kullanmazsanız, tablodaki TÜM kayıtlar güncellenir. Bu, istenmeyen veri kaybına veya yanlış verilere yol açabilir. Her zaman güncellemeyi yapmadan önce koşulunuzu dikkatlice kontrol edin.DELETE FROM Komutu: Veri Silme
Veri tabanından bir veya birden fazla kaydı kaldırmak istediğinizde `DELETE FROM` komutunu kullanırsınız. Bu komut, artık ihtiyaç duyulmayan veya yanlış girilmiş verileri temizlemek için kullanılır.
Temel DELETE FROM Kullanımı
`DELETE FROM` komutu, `WHERE` koşuluyla hangi kayıtların silineceğini belirtir. “SQL’de kayıt nasıl silinir?” sorusunun cevabı budur.
Müşteri ID’si 101 olan kaydı silmek için:
DELETE FROM Musteriler
WHERE MusteriID = 101;
Belirli bir koşulu sağlayan tüm kayıtları da silebilirsiniz:
DELETE FROM Musteriler
WHERE Sehir = 'İzmir';
UPDATE komutunda olduğu gibi, DELETE FROM komutunda da WHERE koşulunu kullanmak HAYATİDİR. Eğer WHERE koşulu kullanmazsanız, tablodaki TÜM kayıtlar silinir ve bu geri dönüşü olmayan bir işlem olabilir. Veri silmeden önce her zaman iki kere düşünün ve yedekleme yapmayı alışkanlık haline getirin.| SQL Komutu | Amaç | Sözdizimi Özeti |
|---|---|---|
| SELECT | Veri tabanından veri okur (sorgular). | SELECT sütunlar FROM tablo WHERE koşul ORDER BY sütun; |
| INSERT INTO | Veri tabanına yeni kayıtlar ekler. | INSERT INTO tablo (sütunlar) VALUES (değerler); |
| UPDATE | Mevcut kayıtların değerlerini günceller. | UPDATE tablo SET sütun = yeni_değer WHERE koşul; |
| DELETE FROM | Veri tabanından kayıtları siler. | DELETE FROM tablo WHERE koşul; |
Pratik Uygulamalar ve Örnek Senaryolar
Bu temel SQL komutları, gerçek dünya uygulamalarında sıklıkla birlikte kullanılır. Örneğin, bir web uygulamasında yeni bir kullanıcı kaydolduğunda `INSERT INTO` kullanılır. Kullanıcı profilini güncellediğinde `UPDATE` kullanılır. Kullanıcı giriş yaptığında veya profilini görüntülediğinde `SELECT` kullanılır. Kullanıcı hesabını kapattığında ise `DELETE FROM` komutu devreye girer.
Bir e-ticaret sitesinde, yeni bir ürün kataloğa eklenirken `INSERT INTO` ile ürün bilgileri veri tabanına yazılır. Ürünün fiyatı veya stok adedi değiştiğinde `UPDATE` kullanılır. Müşteriler ürünleri aradığında veya listelediğinde `SELECT` komutları çalışır. Satışı biten veya kaldırılan ürünler ise `DELETE FROM` ile veri tabanından silinebilir.
- Bir ‘Urunler’ tablosunda ‘UrunAdi’, ‘Fiyat’ ve ‘StokAdedi’ sütunları olduğunu varsayalım. Fiyatı 50 TL’den yüksek olan ve stok adedi 10’dan az olan tüm ürünlerin adını ve fiyatını listelemek için hangi SQL sorgusunu yazarsınız?
- Yeni bir ‘Laptop’ ürünü eklemek istiyorsunuz. Ürün adı ‘Gaming Laptop’, fiyatı 12000 TL ve stok adedi 5. Bu ürünü ‘Urunler’ tablosuna eklemek için gerekli SQL komutu nedir?
- ‘Gaming Laptop’ ürününün fiyatını 11500 TL olarak güncellemek için hangi SQL komutunu kullanırsınız?
- Stok adedi 0 olan tüm ürünleri ‘Urunler’ tablosundan silmek için hangi SQL komutunu yazarsınız?
DELETE FROM TabloAdi;komutunu kullanmanın potansiyel riskleri nelerdir ve bu riskleri nasıl önlersiniz?
- SQL, veri tabanlarıyla etkileşim kurmak için kullanılan standart bir dildir.
SELECTkomutu, veri tabanından bilgi sorgulamak ve çekmek için kullanılır.WHERE,ORDER BY,DISTINCTveLIMIT/TOPgibi yan tümcelerle özelleştirilebilir.INSERT INTOkomutu, veri tabanına yeni kayıtlar eklemek için kullanılır ve belirli sütunlara veya tüm sütunlara veri eklemeyi sağlar.UPDATEkomutu, mevcut kayıtların değerlerini değiştirmek için kullanılır veWHEREkoşuluyla hedeflenen kayıtları belirlemek kritik öneme sahiptir.DELETE FROMkomutu, veri tabanından kayıtları silmek için kullanılır ve yineWHEREkoşulu, istenmeyen veri kaybını önlemek için vazgeçilmezdir.- Bu dört temel komut, veri tabanı yönetiminin ve veri manipülasyonunun temelini oluşturur.
Öğrendiklerinizi Pekiştirin ve İleri Adımlar
Bu derste SQL’in en temel ve güçlü komutları olan SELECT, INSERT, UPDATE ve DELETE’i öğrendiniz. Bu komutlar, herhangi bir veri tabanıyla etkileşim kurmanız için sağlam bir temel oluşturur. Artık bir veri tabanından bilgi çekebilir, yeni kayıtlar ekleyebilir, mevcut veriyi güncelleyebilir ve gereksiz veriyi silebilirsiniz.
SQL öğrenme yolculuğunuz burada bitmiyor. İleri düzey SQL konuları arasında birleştirme işlemleri (JOIN), alt sorgular (subqueries), görünümler (views), saklı yordamlar (stored procedures) ve indeksler (indexes) gibi konular bulunmaktadır. Bu temel komutlarda ustalaştıktan sonra, bu ileri konulara geçerek SQL bilginizi daha da derinleştirebilirsiniz. Unutmayın, pratik yapmak ve gerçek dünya senaryolarında bu komutları kullanmak, bilginizi pekiştirmenin en etkili yoludur. Bilgiye Hızlı Adım! sloganımızla, Ders Merkezi olarak öğrenme yolculuğunuzda daima yanınızdayız!



