MySQL Fonksiyonları Kullanımı
💡 Bu Rehberde Ne Öğreneceksiniz?
Bu kılavuzda, MySQL üzerinde matematiksel, metinsel, tarihsel ve toplama (aggregate) fonksiyonları kullanarak verilerinizi nasıl dönüştüreceğinizi öğreneceksiniz.
ROUND(), LOWER(), DATEDIFF() ve AVG() gibi fonksiyonlarla veritabanı düzeyinde hesaplama yapmayı ve uygulama yükünü azaltmayı keşfedeceksiniz.
⚙️ 1️⃣ Örnek Veritabanı Kurulumu
MySQL’e Bağlanın
mysql -u rabisu_dev -p
Bu komut, belirlediğiniz kullanıcıyla MySQL sunucusuna giriş yapar.
Yeni Veritabanı Oluşturun
CREATE DATABASE kitap_evi;
kitap_evi adında örnek bir veritabanı oluşturur.
Veritabanını Aktif Hale Getirin
USE kitap_evi;
Sonraki işlemleri kitap_evi üzerinde çalıştırır.
Örnek Tablo Oluşturun
CREATE TABLE stok (
kitap_id INT,
yazar VARCHAR(50),
baslik VARCHAR(200),
giris_tarihi DATE,
adet INT,
fiyat DECIMAL(5,2),
PRIMARY KEY (kitap_id)
);
Kitap bilgilerini tutacak tabloyu oluşturur.
Veri Ekleyin
INSERT INTO stok VALUES
(1, 'Orhan Pamuk', 'Kara Kitap', '2022-10-01', 4, 20.83),
(2, 'Elif Şafak', 'Aşk', '2022-10-04', 12, 42.13),
(3, 'Sabahattin Ali', 'Kürk Mantolu Madonna', '2022-09-23', 7, 21.99),
(4, 'Ahmet Ümit', 'Beyoğlu Rapsodisi', '2022-07-23', 9, 17.43),
(5, 'Yaşar Kemal', 'İnce Memed', '2022-10-01', 14, 23.15);
5 adet örnek kitap kaydı ekler.
2️⃣ Matematiksel Fonksiyonlar
ROUND – Sayıları Yuvarlama
SELECT baslik, fiyat, ROUND(fiyat) AS yuvarlanmis_fiyat FROM stok;
Kitap fiyatlarını en yakın tam sayıya yuvarlar.
ROUND (işlemli)
SELECT baslik, fiyat, adet, ROUND(fiyat * adet, 1) AS toplam_stok_degeri FROM stok;
Fiyat × adet işlemini yapar ve sonucu 1 ondalıkla yuvarlar.
✏️ 3️⃣ Metin Fonksiyonları
LOWER – Küçük Harfe Dönüştürme
SELECT LOWER(baslik) AS baslik_kucuk FROM stok;
Başlık sütunundaki tüm metinleri küçük harfe dönüştürür.
UPPER – Büyük Harfe Dönüştürme
SELECT UPPER(yazar) AS yazar_buyuk FROM stok;
Yazar adlarını tamamen büyük harf yapar.
CONCAT – Metinleri Birleştirme
SELECT CONCAT(yazar, ' | ', baslik) AS yazar_baslik FROM stok;
Yazar adı ve başlığı “|” sembolüyle birleştirir.
📅 4️⃣ Tarih Fonksiyonları
YEAR, MONTH, DAY – Tarih Parçalama
SELECT giris_tarihi, YEAR(giris_tarihi) AS yil, MONTH(giris_tarihi) AS ay, DAY(giris_tarihi) AS gun FROM stok;
Kitapların giriş tarihlerini yıl, ay ve gün olarak gösterir.
DATEDIFF – Gün Farkı Hesaplama
SELECT baslik, DATEDIFF(CURRENT_DATE(), giris_tarihi) AS gunden_beri FROM stok;
Kitap giriş tarihi ile bugünün tarihi arasındaki gün farkını hesaplar.
Not: DATEDIFF söz dizimi veritabanına göre değişebilir. Bu örnek MySQL’e özgüdür.
📊 5️⃣ Toplama (Aggregate) Fonksiyonları
COUNT, MAX, AVG – Özet Hesaplamalar
SELECT COUNT(baslik) AS toplam_kitap,
MAX(fiyat) AS en_yuksek_fiyat,
AVG(fiyat) AS ortalama_fiyat
FROM stok;
Toplam kitap sayısı, en yüksek ve ortalama fiyatı listeler.
| Fonksiyon | Açıklama |
|---|---|
AVG() | Sütundaki değerlerin ortalamasını alır. |
COUNT() | Boş olmayan kayıt sayısını döndürür. |
MAX() | En büyük değeri bulur. |
MIN() | En küçük değeri bulur. |
SUM() | Tüm değerlerin toplamını hesaplar. |
❓ Sıkça Sorulan Sorular (SSS)
- SQL fonksiyonları performansı etkiler mi?
Evet, ancak doğru kullanıldığında uygulama yükünü azaltır. Büyük veri setlerinde karmaşık işlemler dikkat gerektirir.
- Fonksiyon sonucuna neden AS takma adı veriyoruz?
Fonksiyonlar varsayılan sütun adı oluşturmaz. AS kullanarak okunabilir bir geçici ad tanımlarız.
- Hangi SQL fonksiyonları tüm veritabanlarında ortaktır?
COUNT, SUM, AVG, MAX, MIN fonksiyonları çoğu RDBMS’de ortaktır.
- GROUP BY ne işe yarar?
Toplama fonksiyonlarını belirli gruplar (örneğin her yazar) üzerinde uygulamak için kullanılır.
🚀 Sonuç
Bu rehberle MySQL fonksiyonlarını kullanarak ham veriyi doğrudan sorgu içinde işleme becerisi kazandınız. Artık uygulama yerine veritabanı tarafında dönüşüm yapabilir, performansı optimize edebilirsiniz. ☁️ Rabisu Bulut platformunda güvenli ve ölçeklenebilir SQL altyapısını hemen deneyin!