Skip to main content

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.

FonksiyonAçı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)

  1. 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.

  1. 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.

  1. Hangi SQL fonksiyonları tüm veritabanlarında ortaktır?

COUNT, SUM, AVG, MAX, MIN fonksiyonları çoğu RDBMS’de ortaktır.

  1. 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!