SQL (Structured Query Language), veritabanlarıyla iletişim kurmak ve onları yönetmek için kullanılan standart bir sorgulama dilidir. Günümüzde web geliştirme, veri analizi, yazılım mühendisliği ve hatta mobil uygulama geliştirme gibi birçok alanda SQL bilgisi kritik bir beceri olarak öne çıkıyor.

Bu yazıda, SQL nedir, temel SQL komutları nelerdir ve nasıl kullanılır sorularına yanıt vereceğiz. Ayrıca, yeni başlayanlar için pratik örneklerle konuyu pekiştireceğiz.
📌 SQL Nedir?
SQL, ilişkisel veritabanı yönetim sistemleri (RDBMS) ile çalışmak için geliştirilmiş bir dildir. MySQL, PostgreSQL, Microsoft SQL Server ve Oracle gibi popüler veritabanı sistemleri SQL’i temel alır.
SQL’in başlıca amaçları şunlardır:
- Veri eklemek (INSERT)
- Veri sorgulamak (SELECT)
- Veri güncellemek (UPDATE)
- Veri silmek (DELETE)
- Veritabanı yapısını yönetmek (CREATE, ALTER, DROP)
İçindekiler
📊 Temel SQL Komutları
SQL komutları genellikle DDL (Data Definition Language), DML (Data Manipulation Language) ve DCL (Data Control Language) olmak üzere üç ana kategoriye ayrılır.
1. SELECT – Veri Sorgulama
SELECT
komutu, veritabanından veri çekmek için kullanılır.
Örnek:
SELECT * FROM kullanicilar;
Bu sorgu, kullanicilar
tablosundaki tüm sütunları ve satırları getirir.
SEO İpucu: “SQL SELECT komutu” gibi anahtar kelimeler, arama motorlarında yüksek aranma hacmine sahiptir. Blog yazınızda bu ifadeyi doğal şekilde kullanmak faydalıdır.
2. INSERT INTO – Veri Ekleme
INSERT INTO
komutu, tabloya yeni veri ekler.
Örnek:
INSERT INTO kullanicilar (ad, soyad, email) VALUES (‘Ahmet’, ‘Yılmaz’, ‘ahmet@example.com’);
3. UPDATE – Veri Güncelleme
UPDATE
komutu, mevcut verileri değiştirmek için kullanılır.
Örnek:
UPDATE kullanicilar SET email = ‘ahmetyilmaz@example.com’ WHERE id = 1;
Not: WHERE
koşulu kullanılmazsa tüm satırlar güncellenir. Bu yüzden dikkatli olun.
4. DELETE – Veri Silme
DELETE
komutu, tablodan veri siler.
Örnek:
DELETE FROM kullanicilar WHERE id = 1;
5. CREATE TABLE – Tablo Oluşturma
CREATE TABLE
komutu, yeni bir tablo oluşturur.
Örnek:
CREATE TABLE kullanicilar ( id INT PRIMARY KEY AUTO_INCREMENT, ad VARCHAR(50), soyad VARCHAR(50), email VARCHAR(100) );
6. ALTER TABLE – Tablo Yapısını Değiştirme
ALTER TABLE
komutu, tabloya sütun eklemek, silmek veya değiştirmek için kullanılır.
Örnek:
ALTER TABLE kullanicilar ADD dogum_tarihi DATE;
7. DROP TABLE – Tablo Silme
DROP TABLE
komutu, tabloyu tamamen siler.
Örnek:
DROP TABLE kullanicilar;
Uyarı: Bu işlem geri alınamaz.
🔍 SQL Kullanırken Dikkat Edilmesi Gerekenler
- Veri güvenliği: Özellikle
DELETE
veUPDATE
komutlarındaWHERE
koşulu kullanmayı unutmayın. - Performans: Büyük veri setlerinde sorgularınızı optimize edin.
- Yedekleme: Önemli değişikliklerden önce veritabanınızı mutlaka yedekleyin.
💻 JavaScript ile SQL Sorgularını Entegre Etme
Web geliştirme dünyasında JavaScript ve SQL sıklıkla birlikte kullanılır. JavaScript, özellikle Node.js ortamında çalıştırıldığında, doğrudan veritabanına bağlanarak SQL sorguları çalıştırabilir. Bu sayede dinamik web uygulamaları geliştirmek mümkün olur.
1. Neden JavaScript + SQL?
- Dinamik veri yönetimi: Kullanıcıdan gelen verileri anlık olarak veritabanına kaydedebilir veya güncelleyebilirsiniz.
- Tam yığın geliştirme (Full Stack): Hem istemci (frontend) hem de sunucu (backend) tarafında JavaScript kullanarak tek dil ile tüm projeyi yönetebilirsiniz.
- API entegrasyonu: SQL sorgularını REST veya GraphQL API’ler üzerinden çalıştırabilirsiniz.
2. Node.js ile MySQL Bağlantısı
JavaScript’in tarayıcı tarafında doğrudan SQL sorgusu çalıştırması güvenlik açısından önerilmez. Bunun yerine Node.js gibi sunucu tarafı teknolojiler kullanılır.
Adım 1 – MySQL paketini yükleme:
npm install mysql
Adım 2 – Bağlantı oluşturma:
const mysql = require(‘mysql’); const connection = mysql.createConnection({ host: ‘localhost’, user: ‘root’, password: ”, database: ‘ornek_veritabani’ }); connection.connect((err) => { if (err) throw err; console.log(‘MySQL veritabanına bağlanıldı!’); });
3. SQL Sorgusu Çalıştırma
SELECT örneği:
connection.query(‘SELECT * FROM kullanicilar’, (err, results) => { if (err) throw err; console.log(results); });
INSERT örneği:
const yeniKullanici = { ad: ‘Mehmet’, soyad: ‘Kaya’, email: ‘mehmet@example.com’ }; connection.query(‘INSERT INTO kullanicilar SET ?’, yeniKullanici, (err, res) => { if (err) throw err; console.log(‘Yeni kullanıcı eklendi, ID:’, res.insertId); });
4. Güvenlik ve Performans İpuçları
- Hazır ifadeler (Prepared Statements) kullanarak SQL enjeksiyon saldırılarını önleyin.
- Büyük veri setlerinde LIMIT ve OFFSET kullanarak sorgu performansını artırın.
- Gereksiz veri çekmekten kaçının, sadece ihtiyacınız olan sütunları seçin.
[…] olması sayesinde hem bireysel geliştiriciler hem de büyük şirketler tarafından tercih edilir. SQL dilini kullanarak veriler üzerinde sorgulama, güncelleme, silme gibi işlemler […]