MySQL Fonksiyonları

MySQL Fonksiyonları

MySQL veritabanı yönetim sisteminin sunduğu fonksiyonlar arasında Metin Fonksiyonları, Tarih ve Zaman Fonksiyonları ve Matematiksel Fonksiyonlar gibi pek çok kategori bulunmaktadır Metin Fonksiyonları kategorisinde, veritabanında bulunan metinlerin manipüle edilmesi için fonksiyonlar kullanılır CONCAT fonksiyonu birden fazla metnin birleştirilmesinde kullanılırken, LEFT ve RIGHT fonksiyonları metnin sol veya sağ tarafından belirli sayıda karakterin alınmasını sağlar LENGTH fonksiyonu ise metnin uzunluğunu ölçer Tarih ve Zaman Fonksiyonları, MySQL'de tarih ve saat verileri üzerinde işlemler yapmak için kullanılır NOW fonksiyonu ile cari tarih ve saat bilgisine ulaşmak mümkünken, CURDATE fonksiyonu sadece tarih bilgisini döndürmektedir Matematiksel Fonksiyonlar kategorisi altındaki fonksiyonlar ise farklı matematiksel işlemleri yapmak için kullanılı

MySQL Fonksiyonları

MySQL veritabanı yönetim sistemi, en yaygın kullanılan açık kaynak kodlu veritabanlarından biridir. MySQL'de farklı kategorilerde birçok farklı fonksiyon bulunmakta ve bu fonksiyonlar kullanıcıların işlemlerinde büyük kolaylık sağlamaktadır. Bu fonksiyonlar, Matematiksel Fonksiyonlar, Metin Fonksiyonları, Tarih ve Zaman Fonksiyonları ve daha birçok kategoride kendine yer buluyor. Matematiksel işlemlerden tarih işlemlerine kadar pek çok ihtiyaca cevap veren bu fonksiyonları kullanmak, MySQL kullanıcıları için olmazsa olmazlardan biridir.

Metin Fonksiyonları, MySQL'de sıklıkla kullanılan fonksiyonlar arasındadır. Bu kategori altında yer alan fonksiyonlar, veritabanında bulunan metinleri manipüle etmek için kullanılır. Örneğin, CONCAT() fonksiyonu, birden fazla metnin birleştirilmesinde kullanılırken, LEFT() ve RIGHT() fonksiyonları metnin sol veya sağ tarafından belli sayıda karakterin alınmasını sağlar. LENGTH() fonksiyonu ise metnin uzunluğunu ölçer.

Tarih ve Zaman Fonksiyonları da MySQL'de sıklıkla kullanılan fonksiyonlar arasındadır. Bu fonksiyonların amacı, MySQL'de tarih ve saat verileri üzerinde işlemler yapmaktır. NOW() fonksiyonu ile cari tarih ve saat bilgisine ulaşmak mümkünken, CURDATE() fonksiyonu sadece tarih bilgisini döndürmektedir. DATE_FORMAT() fonksiyonu ise tarih ve saat bilgilerinin biçimlendirilmesinde kullanılır.

Matematiksel Fonksiyonlar da MySQL'de sıklıkla kullanılan fonksiyonlar arasında yer alır. Bu kategori altındaki fonksiyonlar, farklı matematiksel işlemleri yapmak için kullanılır. SUM(), AVG(), MIN() ve MAX() fonksiyonları, sırasıyla toplama, ortalama, minimum ve maksimum değerleri döndürür.


Metin Fonksiyonları

MySQL veritabanı sistemi, metin işlemlerinde kullanılan birçok farklı fonksiyon sunmaktadır. Bu fonksiyonlar, metinlerin birleştirilmesi, belli sayıda karakterin alınması ve metnin uzunluğunun ölçülmesi gibi temel işlemleri gerçekleştirmek için kullanılır.

CONCAT() adlı fonksiyon, birden fazla metnin birleştirilmesi için kullanılan bir fonksiyondur. Sol veya sağ taraftan belli sayıda karakterin alınması işleminde kullanabileceğimiz LEFT() ve RIGHT() fonksiyonları, ilgili metnin sol ve sağ taraflarından belirtilen sayıda karakteri geri döndürür. Metnin uzunluğunu ölçmek için ise LENGTH() fonksiyonunu kullanabilirsiniz.

Bu metin fonksiyonları, veritabanlarında depolanan metinlerin işlenmesi ve yönetilmesi açısından büyük önem taşır. Özellikle büyük ölçekli bir veritabanındaki metin işlemlerini kolaylaştırmak ve hızlandırmak için bu fonksiyonları kullanabilirsiniz.


CONCAT()

MySQL'de metinlerin birleştirilmesi işleminde CONCAT() fonksiyonu kullanılır. Bu fonksiyon sayesinde veri tabanındaki birden fazla metin bir araya getirilebilir.

CONCAT() fonksiyonu en basit haliyle birden fazla parametre alır. Her bir parametre arasına virgül konulur ve aralarında herhangi bir işlem yapmadan sadece birleştirme işlemi gerçekleştirilir. Örneğin;

SELECT CONCAT('Merhaba', ' ', 'Dünya!');
'Merhaba Dünya!'

Gördüğünüz gibi, CONCAT() fonksiyonuyla verilen metinler arasında boşluk ekleyerek çıktı alınmıştır.

Bunun yanı sıra, CONCAT() fonksiyonu ile değişkenler de kullanılabilir. Örneğin;

DECLARE name VARCHAR(20) DEFAULT 'John';
SELECT CONCAT('Benim adım ', name, ' ve ben bir geliştiriciyim.');
'Benim adım John ve ben bir geliştiriciyim.'

Bu örnekte, bir değişkenden alınan veri bir metin ile birleştirilerek yazdırılmıştır. CONCAT() fonksiyonu ile üç veya daha fazla metin birleştirilebilir ve birbirinden farklı veri tipleri de kullanılabilir.


LEFT() ve RIGHT()

MySQL'de metin işlemleri yaparken, bazen metnin sadece belirli bir kısmına ihtiyaç duyabilirsiniz. Bu gibi durumlarda LEFT() ve RIGHT() fonksiyonları devreye girer.

LEFT() fonksiyonu metnin solundan belirli sayıda karakteri alırken, RIGHT() fonksiyonu ise metnin sağ tarafından belirli sayıda karakteri alır. Örneğin, "Stack Overflow" metninde sadece ilk 5 karakteri almak istediğinizde LEFT() fonksiyonunu kullanabilirsiniz. Bu durumda LEFT("Stack Overflow", 5) şeklinde fonksiyonu kullanarak "Stack" sonucunu elde edebilirsiniz. Benzer şekilde, metnin sağ tarafından sayılı karakterleri almak isterseniz, RIGHT() fonksiyonunu kullanabilirsiniz.

Aşağıdaki örnekte, LEFT() ve RIGHT() fonksiyonları kullanılarak bir veritabanındaki müşteri adı ve soyadı alanlarından yalnızca ilk ve son karakterleri alınmıştır:

Müşteri Adı Müşteri Soyadı
John D
Jane E
Mark T

Yukarıdaki örnekte müşteri adları "LEFT(musteri_adi, 1)" kullanılarak ilk karakterleri alınmıştır. Benzer şekilde, müşteri soyadları "RIGHT(musteri_soyadi, 1)" kullanılarak son karakterleri alınmıştır.


LENGTH()

MySQL veritabanında kullanılan length() fonksiyonu metnin uzunluğunu ölçmek için kullanılır. Bu fonksiyon, metnin kaç karakterden oluştuğunu sayar ve geriye bir tamsayı değer döndürür.

Length() fonksiyonu, string veri tipindeki sütunlarda kullanıldığında oldukça faydalıdır. Örneğin, bir kullanıcının adını ve soyadını içeren bir sütun için length() fonksiyonunu kullanarak ad ve soyadın karakter sayısını hesaplayabiliriz. Bu, kullanıcıları sıralarken veya aramalar için karakter sayısına göre filtreleme yaparken işleri kolaylaştırır.

Ayrıca length() fonksiyonu, NULL değerlerini dikkate almaz. Bu nedenle, NULL değerler için farklı bir yöntem kullanmalısınız.

Örnek bir kullanım:

SELECT length(ad) FROM kullanıcılar;

Yukarıdaki örnekte, kullanıcılar tablosundaki ad sütunundaki her kullanıcının adının karakter sayısını hesaplıyoruz.

Bu fonksiyon, veri manipülasyonu ve arama işlemlerinde oldukça faydalıdır. Length() fonksiyonunu kullanarak bir metnin uzunluğunu kolayca ölçebilir ve daha sonra bu bilgiyi farklı alanlarda kullanabilirsiniz.


Tarih ve Zaman Fonksiyonları

MySQL'de tarih ve zaman verileri ile çalışırken, kullanabileceğiniz birkaç özel fonksiyon vardır. Bunlardan bazıları NOW() ve CURDATE() fonksiyonlarıdır. NOW() fonksiyonu, sırasıyla cari tarih ve zaman bilgisini döndürürken, CURDATE() fonksiyonu sadece tarih bilgisini döndürür.

Ayrıca, DATE_FORMAT() fonksiyonunu kullanarak, tarih ve saat bilgisinin farklı biçimlerde gösterilmesini sağlayabilirsiniz. Bu fonksiyon, birinci parametre olarak tarih ve saat verisini, ikinci parametre olarak ise istediğiniz biçimi alır. Örneğin, SELECT DATE_FORMAT(NOW(), '%d/%m/%Y %H:%i:%s') sorgusu, cari tarih ve saati "gün/ay/yıl saat:dakika:saniye" biçiminde gösterir.

Bunların yanı sıra, tarih ve saat verilerini işlerken sıklıkla kullanılan diğer iki fonksiyon da DATE_ADD() ve DATE_SUB() fonksiyonlarıdır. Bu fonksiyonlar, birinci parametre olarak tarih veya zaman verisini, ikinci parametre olarak ise eklenmesi veya çıkarılması gereken gün/saat/dakika/saniye değerini alır. Örneğin, SELECT DATE_ADD(NOW(), INTERVAL 1 DAY) sorgusu, cari tarihe bir gün ekler.


NOW() ve CURDATE()

MySQL fonksiyonları arasında, tarih ve zaman işlemlerinde kullanılan NOW() ve CURDATE() fonksiyonları oldukça önemlidir. NOW() fonksiyonu, çağrıldığı andaki anlık tarih ve saat bilgisini döndürür. Bu fonksiyon, özellikle zaman damgası gerektiren işlemler için tercih edilir.

CURDATE() fonksiyonu ise yalnızca cari tarihi döndürür. Bu fonksiyon, tarih bazlı işlemler için kullanışlıdır ve özellikle sadece tarihin alınması gerektiği durumlarda tercih edilir.

Aşağıdaki örneklerle, fonksiyonların kullanımını daha iyi anlayabilirsiniz:

Fonksiyon Adı Çıktı Değeri
NOW() 2021-10-20 10:32:18
CURDATE() 2021-10-20

Yukarıdaki tabloda, NOW() fonksiyonunun çağrıldığı anki tarih ve saat bilgisi, CURDATE() fonksiyonunun ise sadece cari tarihi döndürdüğü görülmektedir.

Tarih ve zaman işlemleri için kullanılan bir diğer fonksiyon ise DATE_FORMAT() fonksiyonudur. Bu fonksiyon, tarih ve saat bilgilerini farklı biçimlere dönüştürmeye olanak sağlar. Örneğin, tarihi "dd/mm/yyyy" veya "mm/dd/yyyy" gibi farklı biçimlerde gösterebilirsiniz.

MySQL fonksiyonları arasında yer alan NOW() ve CURDATE() fonksiyonlarını kullanarak, tarih ve zaman işlemlerinizde kolaylıkla işlem yapabilirsiniz.


DATE_FORMAT()

MySQL'de tarih ve saat verisinin farklı biçimlerde gösterilmesini sağlayan DATE_FORMAT() fonksiyonu, popüler MySQL fonksiyonlarından biridir. Bu fonksiyon kullanıcının tercihine göre tarih veya saat verisini farklı biçimlerde göstermek için oldukça kullanışlıdır.

DATE_FORMAT() fonksiyonu, iki parametre alır: tarih veya saat verisi ve biçimlendirme kodu. Biçimlendirme kodunu kullanarak tarih veya saat verisini istediğiniz biçime dönüştürebilirsiniz. Örneğin, "yyyy-MM-dd" kodu, tarihi "yıl-ay-gün" biçiminde gösterir. "H:i:s" kodu ise saati, dakikayı ve saniyeyi boşluklarla ayrılmış bir şekilde gösterir.

Örneğin, "SELECT DATE_FORMAT('2022-03-22', '%d/%m/%Y')" komutunu kullanarak, tarih verisini gün/ay/yıl biçiminde gösterebilirsiniz. Bu komut sonucunda "22/03/2022" tarihi döndürülür.

DATE_FORMAT() fonksiyonu tarafından desteklenen diğer popüler biçim kodları arasında "Month" (ayın tam adı), "Mon" (ayın kısaltılmış adı), "dd" (gün), "hh" (saat) ve "mm" (dakika) bulunmaktadır.

Bir diğer örnek ise, "SELECT DATE_FORMAT('2022-04-18 14:35:21', 'Saat: %H:%i:%s | Tarih: %d-%m-%Y')" komutunu kullanarak, hem saat hem de tarih verisini farklı biçimlerde göstermek mümkündür. Bu komut sonucunda "Saat: 14:35:21 | Tarih: 18-04-2022" cümlesi döndürülür.

DATE_FORMAT() fonksiyonu, tarih ve saat verilerinin farklı biçimlerde gösterilmesini sağlayarak kullanıcının ihtiyacına yönelik özelleştirilebilir sonuçlar elde etmesine yardımcı olur.


Matematiksel Fonksiyonlar

Matematiksel fonksiyonlar, MySQL'de veri toplama, çıkarma, bölme, çarpma, yuvarlama, üs alma gibi matematik işlemleri yapmak için kullanılır. Bu fonksiyonlar sayesinde verilerinizin matematiksel işlemlerini hızlı ve doğru bir şekilde yapabilirsiniz.

- SUM(): Bu fonksiyon, verilerin toplamını hesaplar. Örneğin, bir tablodaki sütunun toplamını hesaplamak için kullanılabilir.

- AVG(): Bu fonksiyon, verilerin ortalamasını hesaplar. Bir tablodaki sütunun ortalama değerini öğrenmek için kullanılabilir.

- MIN(): Bu fonksiyon, verilerin en küçük olanını hesaplar. Bir tablodaki sütunun en küçük değerini öğrenmek için kullanılabilir.

- MAX(): Bu fonksiyon, verilerin en büyük olanını hesaplar. Bir tablodaki sütunun en büyük değerini öğrenmek için kullanılabilir.

Matematiksel fonksiyonlar, birçok veri işleme işlemi için hayati öneme sahiptirler. Bu fonksiyonlar özellikle finansal verilerin analizi veya işletme verilerinin analizi gibi matematiksel hesaplamaların yapıldığı durumlarda oldukça yararlıdır.


SUM(), AVG(), MIN() ve MAX()

MySQL'deki matematiksel fonksiyonlar genellikle sayısal değerlerle çalışmak için kullanılır. Bu fonksiyonlar sırasıyla toplama, ortalama, minimum ve maksimum değer döndürür.

SUM(): Bu fonksiyon belirtilen sütundaki tüm değerleri toplar ve sonucu döndürür. Örneğin;

id name age
1 Ahmet 25
2 Mehmet 30
3 Ayşe 22

Yukarıdaki tablodaki age sütunundaki tüm değerleri toplamak için "SELECT SUM(age) FROM table_name" şeklinde bir sorgu çalıştırabilirsiniz. Bu örnekte sorgu sonucu 77 olacaktır.

AVG(): Bu fonksiyon belirtilen sütundaki tüm değerlerin ortalamasını hesaplar ve sonucu döndürür. Örneğin;

id name score
1 Ahmet 80
2 Mehmet 90
3 Ayşe 75

Yukarıdaki tablodaki score sütunundaki tüm değerlerin ortalamasını hesaplamak için "SELECT AVG(score) FROM table_name" şeklinde bir sorgu çalıştırabilirsiniz. Bu örnekte sorgu sonucu 81.67 olacaktır.

MIN(): Bu fonksiyon belirtilen sütundaki tüm değerler arasından en küçük değeri seçer ve sonucu döndürür. Örneğin;

id name height
1 Ahmet 165
2 Mehmet 170
3 Ayşe 160

Yukarıdaki tablodaki height sütunundaki tüm değerler arasından en küçük değeri seçmek için "SELECT MIN(height) FROM table_name" şeklinde bir sorgu çalıştırabilirsiniz. Bu örnekte sorgu sonucu 160 olacaktır.

MAX(): Bu fonksiyon belirtilen sütundaki tüm değerler arasından en büyük değeri seçer ve sonucu döndürür. Örneğin;

id name weight
1 Ahmet 75
2 Mehmet 85
3 Ayşe 65

Yukarıdaki tablodaki weight sütunundaki tüm değerler arasından en büyük değeri seçmek için "SELECT MAX(weight) FROM table_name" şeklinde bir sorgu çalıştırabilirsiniz. Bu örnekte sorgu sonucu 85 olacaktır.