Temel SQL Komutları: Veritabanı Yönetimi için Başlangıç Kılavuzu
SQL (Structured Query Language), ilişkisel veritabanlarıyla etkileşim kurmak için evrensel standarttır. MySQL, PostgreSQL veya SQLite ile çalışıyor olsanız da, SQL komutlarında uzmanlaşmak geliştiriciler, veri analisti, sistem yöneticileri ve veri odaklı uygulamaları yöneten herkes için gerekli bir beceridir. Bu kapsamlı kılavuzda, her başlangıççının bilmesi gereken en temel SQL komutlarında size yol göstereceğiz — söz dizimi açıklamaları, pratik örnekler ve en iyi uygulamalarla birlikte.
SQL tabanlı uygulamalarınızı pratik yapmak ve dağıtmak için güvenilir bir ortam arıyorsanız, AlexHost’tan VPS Hosting tam kök erişimi ile güçlü, yüksek performanslı altyapı sağlayarak MySQL, PostgreSQL ve diğer ilişkisel veritabanı sistemlerini çalıştırmak için idealdir.
SQL Nedir ve Neden Önemlidir?
SQL, internetteki neredeyse her veri odaklı uygulamanın omurgasıdır. E-ticaret platformlarından ve içerik yönetim sistemlerinden kurumsal analitik panolarına kadar, ilişkisel veritabanları veri katmanını güçlendirir — ve SQL, onlarla iletişim kurmak için kullandığınız dildir.
SQL komutlarını anlamak şunları yapmanızı sağlar:
- Veritabanı şemalarını oluşturmak ve yapılandırmak
- Kayıtları kesin bir şekilde eklemek, güncellemek ve silmek
- İhtiyacınız olan verileri tam olarak sorgulamak ve almak
- Veritabanlarını performans ve güvenilirlik için korumak ve optimize etmek
Şimdi, başlamak için ihtiyacınız olan temel SQL komutlarına dalalım.
1. SELECT — Veritabanından Veri Alma
SELECT ifadesi, tartışmasız en sık kullanılan SQL komutudur. Bir veritabanı tablosunun bir veya daha fazla sütunundan veri almanızı sağlar.
Söz Dizimi
SELECT column1, column2
FROM table_name;Bir tablodaki tüm sütunları almak için joker karakteri * kullanın:
SELECT * FROM table_name;Örnek
SELECT first_name, last_name
FROM employees;Bu sorgu, employees tablosundaki her satır için first_name ve last_name sütunlarını döndürür.
Pro İpucu
Üretim ortamlarında SELECT * kullanmaktan kaçının. Sütunları açıkça adlandırmak sorgu performansını iyileştirir ve kodunuzu bakımı daha kolay hale getirir.
2. INSERT INTO — Yeni Kayıtlar Ekleme
INSERT INTO ifadesi, mevcut bir tabloya yeni veri satırları eklemek için kullanılır.
Söz Dizimi
INSERT INTO table_name (column1, column2)
VALUES (value1, value2);Örnek
INSERT INTO employees (first_name, last_name)
VALUES ('John', 'Doe');Bu, “John” adı ve “Doe” soyadı ile yeni bir çalışan kaydı ekler.
Pro İpucu
INSERT INTO ifadenizde sütun adlarını her zaman açıkça belirtin. Bu, tablo yapısı gelecekte değişirse sorgularınızın bozulmasından korur.
3. UPDATE — Mevcut Kayıtları Değiştirme
UPDATE ifadesi, bir tabloda zaten mevcut olan verileri değiştirmenizi sağlar. Neredeyse her zaman belirli satırları hedeflemek için WHERE cümlesiyle birlikte kullanılır.
Söz Dizimi
UPDATE table_name
SET column1 = value1
WHERE condition;Örnek
UPDATE employees
SET last_name = 'Smith'
WHERE id = 1;Bu, id = 1 olan çalışanın last_name değerini “Smith” olarak günceller.
⚠️ Kritik Uyarı
Tablodaki her satırı kasıtlı olarak değiştirmek istediğiniz sürece, UPDATE ifadesini WHERE cümlesi olmadan çalıştırmayın. Her zaman WHERE koşulunuzu bir SELECT sorgusuyla test edin.
4. DELETE — Tablodan Kayıtları Silme
DELETE ifadesi, belirtilen bir koşula dayalı olarak bir tablodan bir veya daha fazla satırı kaldırır.
Söz Dizimi
DELETE FROM table_name
WHERE condition;Örnek
DELETE FROM employees
WHERE id = 1;Bu, id = 1 olan çalışan kaydını kalıcı olarak siler.
⚠️ Kritik Uyarı
UPDATE gibi, DELETE cümlesi olmayan bir WHERE ifadesi tablodaki tüm satırları silecektir. Yürütmeden önce her zaman koşulunuzu iki kez kontrol edin. Gerekirse geri alabilmeniz için yıkıcı işlemleri bir işlemde sarmalı düşünün.
5. CREATE TABLE — Yeni Bir Tablo Tanımlama
CREATE TABLE ifadesi, veritabanınızda yeni bir tablo tanımlamak ve oluşturmak için kullanılır. Her sütunun adını ve veri türünü belirtirsiniz.
Söz Dizimi
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
...
);Örnek
CREATE TABLE employees (
id INT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
email VARCHAR(100),
hire_date DATE
);Bu, beş sütunlu bir employees tablosu oluşturur: birincil anahtar olarak ayarlanan benzersiz bir tamsayı ID, ad ve soyadı, bir e-posta adresi ve işe alınma tarihi.
Yaygın SQL Veri Türleri
| Veri Türü | Açıklama |
|---|---|
INT | Tam sayılar |
VARCHAR(n) | n karaktere kadar değişken uzunlukta metin |
TEXT | Büyük metin blokları |
DATE | Tarih değerleri (YYYY-MM-DD) |
DECIMAL(p,s) | Kesin sayısal değerler (örn. para birimi) |
BOOLEAN | Doğru/Yanlış değerleri |
6. ALTER TABLE — Mevcut Bir Tabloyu Değiştirme
ALTER TABLE ifadesi, mevcut bir tablonun yapısını değiştirmenizi sağlar — örneğin, sütun ekleyerek, değiştirerek veya silerek.
Söz Dizimi — Sütun Ekleme
ALTER TABLE table_name
ADD column_name datatype;Söz Dizimi — Sütun Silme
ALTER TABLE table_name
DROP COLUMN column_name;Söz Dizimi — Sütun Değiştirme
ALTER TABLE table_name
MODIFY COLUMN column_name new_datatype;Örnek
ALTER TABLE employees
ADD email VARCHAR(100);Bu, mevcut employees tablosuna bir email sütunu ekler.
Pro İpucu
Büyük üretim veritabanlarında, ALTER TABLE işlemleri tabloyu kilitleyebilir ve performansı etkileyebilir. Her zaman şema değişikliklerini düşük trafikli dönemlerde planlayın veya çevrimiçi şema değiştirme araçlarını kullanın.
7. DROP TABLE — Tüm Tabloyu Silme
DROP TABLE ifadesi, bir tabloyu ve tüm verilerini veritabanından kalıcı olarak kaldırır. Bu işlem geri alınamaz.
Söz Dizimi
DROP TABLE table_name;Örnek
DROP TABLE employees;⚠️ Kritik Uyarı
DROP TABLE geri alınamaz. Bu komutu üretim ortamında yürütmeden önce, tam ve doğrulanmış bir veritabanı yedeklemesine sahip olduğunuzdan emin olun. AlexHost’un Dedicated Servers otomatik yedekleme çözümleri için seçenekler içerir ve yüksek riskli veritabanı işlemleri gerçekleştirirken size gönül rahatlığı verir.
8. WHERE Cümlesi — Sorgu Sonuçlarını Filtreleme
WHERE cümlesi bağımsız bir komut değildir, ancak SELECT, UPDATE, DELETE ve diğer ifadelerle birleştirilebilen güçlü bir filtredir. Bir veya daha fazla koşula dayalı olarak etkilenen veya döndürülen satırları sınırlar.
Söz Dizimi
SELECT * FROM table_name
WHERE condition;Örnek
SELECT * FROM employees
WHERE first_name = 'John';Bu, adı “John” olan her çalışan için tüm sütunları döndürür.
Yaygın WHERE Operatörleri
| Operatör | Açıklama | Örnek |
|---|---|---|
= | Eşittir | WHERE id = 5 |
!= veya <> | Eşit değildir | WHERE status != 'inactive' |
> | Büyüktür | WHERE salary > 50000 |
< | Küçüktür | WHERE age < 30 |
BETWEEN | Bir aralık içinde | WHERE age BETWEEN 25 AND 40 |
LIKE | Desen eşleştirme | WHERE email LIKE '%@gmail.com' |
IN | Listedeki herhangi bir değerle eşleşir | WHERE dept IN ('HR', 'IT') |
IS NULL | Null değerleri kontrol eder | WHERE phone IS NULL |
9. ORDER BY — Sorgu Sonuçlarını Sıralama
Her zaman mutlak temel öğeler arasında listelenmese de, ORDER BY sorgu sonuçlarınızı okunabilir ve anlamlı hale getirmek için gereklidir.
Söz Dizimi
SELECT column1, column2
FROM table_name
ORDER BY column1 ASC|DESC;Örnek
SELECT first_name, last_name, hire_date
FROM employees
ORDER BY hire_date DESC;Bu, tüm çalışanları işe alınma tarihine göre sıralanmış olarak döndürür ve en yakın zamanda işe alınanlar ilk olarak görünür.
10. LIMIT — Sonuç Sayısını Kontrol Etme
LIMIT cümlesi, bir sorgu tarafından döndürülen satır sayısını kısıtlar. Büyük veri kümeleriyle çalışırken veya sayfalandırma uygularken özellikle yararlıdır.
Söz Dizimi
SELECT * FROM table_name
LIMIT number;