MySQL'de İşlemler ve Fonksiyonlar İçin En Yaygın Kullanılan Örnekler ve Uygulamalar

MySQL'de İşlemler ve Fonksiyonlar İçin En Yaygın Kullanılan Örnekler ve Uygulamalar

MySQL veritabanı yönetim sistemi, verileri saklamak, düzenlemek ve kullanıcılara veri işleme ve geri alma olanağı sağlamak için kullanılan bir sistemdir Veri çekme, güncelleme ve ekleme işlemleri ile dış bağlantılar, MySQL'de en yaygın kullanılan işlemler arasında yer almaktadır Veri çekme işlemleri SELECT, WHERE, ORDER BY ve LIMIT işlemleri ile gerçekleştirilirken, veri güncelleme ve ekleme işlemleri ise UPDATE, INSERT INTO ve DELETE işlemleri ile yapılabilir Dış bağlantılar ise JOIN, INNER JOIN, LEFT JOIN ve RIGHT JOIN işlemleri ile gerçekleştirilir MySQL'de sık kullanılan fonksiyonlar arasında STRING, DATE, NUMERIC ve AGGREGATE fonksiyonları yer almaktadır Bunlar, metinleri düzenlemek, tarihlerle çalışmak, sayısal işlemler yapmak ve verileri gruplandırmak için kullanılır En yaygın kullanılan MySQL işlemlerinin ve fonksiyonlarının ayrıntılı bir şek

MySQL'de İşlemler ve Fonksiyonlar İçin En Yaygın Kullanılan Örnekler ve Uygulamalar

MySQL, verileri saklayan, düzenleyen ve kullanıcılara gereksinim duydukları verileri geri verme ve işleme olanağı tanıyan bir veritabanı yönetim sistemidir. MySQL veritabanında sık kullanılan işlemler ve fonksiyonlar, kullanıcıların veri tabanını daha verimli bir şekilde kullanmalarına olanak tanır. Bu makalede MySQL'de en yaygın kullanılan işlemler ve fonksiyonlar hakkında bir özet sunulacaktır.

MySQL'de sık kullanılan işlemler arasında veri çekme işlemleri, veri güncelleme ve ekleme işlemleri ve dış bağlantılar yer alır. Veri çekme işlemleri, SELECT, WHERE, ORDER BY ve LIMIT işlemleri ile gerçekleştirilebilir. Veri güncelleme ve ekleme işlemleri, UPDATE, INSERT INTO ve DELETE işlemleri ile yapılabilir. Dış bağlantılar ise, JOIN, INNER JOIN, LEFT JOIN ve RIGHT JOIN işlemleri ile gerçekleştirilebilir.

MySQL'de sık kullanılan fonksiyonlar ise, STRING, DATE, NUMERIC ve AGGREGATE fonksiyonlarıdır. STRING fonksiyonları, veritabanında saklanan metinleri düzenlerken, DATE fonksiyonları, tarihlerle çalışır. NUMERIC fonksiyonları, sayısal işlemlere olanak tanırken, AGGREGATE fonksiyonları ise, verileri gruplayarak işleme olanak tanır.

Bu makale, MySQL'de en yaygın kullanılan işlemler ve fonksiyonların bir özetini sunmuştur. Daha ayrıntılı bilgiye ulaşmak için, örnek kodlar ve uygulamalarla birlikte resmi MySQL belgelerine başvurabilirsiniz.


Veri Çekme İşlemleri

MySQL veritabanı kullanırken, veri çekme işlemleri oldukça sık kullanılır. Bunlar arasında SELECT, WHERE, ORDER BY ve LIMIT gibi işlemler bulunur. SELECT işlemi, belirli sütunlardaki verileri belirli bir tablodan getirmek için kullanılır. Örneğin:

SELECT Sorgusu Açıklama
SELECT * FROM müşteriler; Tüm müşterilerin tüm verilerini getirir.
SELECT müşteri_adı, müşteri_soyadı FROM müşteriler; Tüm müşterilerin isim ve soyisim verilerini getirir.

WHERE işlemi, belirli bir koşula göre belirli verileri getirmek için kullanılır. Örneğin:

WHERE Sorgusu Açıklama
SELECT * FROM müşteriler WHERE müşteri_adı='Ali'; Müşteri adı 'Ali' olan müşterinin tüm verilerini getirir.
SELECT * FROM müşteriler WHERE müşteri_yaşı<30; Müşteri yaşı 30'dan küçük olan tüm müşterilerin verilerini getirir.

ORDER BY işlemi, belirli bir sütuna göre verileri sıralamak için kullanılır. ASC (artan) ya da DESC (azalan) olarak sıralama yapılabilir. Örneğin:

ORDER BY Sorgusu Açıklama
SELECT * FROM müşteriler ORDER BY müşteri_adı ASC; Müşterileri isimlerine göre alfabetik olarak sıralar.
SELECT * FROM müşteriler ORDER BY müşteri_yaşı DESC; Müşterileri yaşlarına göre büyükten küçüğe doğru sıralar.

LIMIT işlemi, belirli bir sayıda veri getirmek için kullanılır. Örneğin:

LIMIT Sorgusu Açıklama
SELECT * FROM müşteriler LIMIT 10; Tüm müşterilerin ilk 10'unu getirir.
SELECT * FROM müşteriler LIMIT 5, 10; Müşterilerin 6. sıradan itibaren (5) 10 tane verisini getirir.

Yukarıdaki örnekler, MySQL'de veri çekme işlemlerinin ne kadar esnek ve güçlü olduğunu göstermektedir. İhtiyacınız olan verileri kolayca çekip, sıralayıp ve sınırlayabilirsiniz.


Veri Güncelleme ve Ekleme İşlemleri

MySQL veritabanı, veri güncelleme ve ekleme işlemlerini yapmak için birçok seçenek sunar. Bunlar arasında en sık kullanılanlar, UPDATE, INSERT INTO ve DELETE işlemleridir. Bu işlemlerin kullanımı ile ilgili örnekler aşağıda verilmiştir.

UPDATE işlemi, belirli bir tablodaki verileri güncellemek için kullanılır. Bu işlem, aşağıdaki gibi kullanılabilir:

Örnek Açıklama
UPDATE tablo_adı SET sütun1='değer1' WHERE sütun='değer' Belirli bir sütundaki belirli bir değeri günceller

INSERT INTO işlemi, belirli bir tabloya yeni bir veri eklemek için kullanılır. Aşağıda INSERT INTO işleminin kullanımı hakkında bir örnek verilmiştir:

Örnek Açıklama
INSERT INTO tablo_adı (sütun1, sütun2, sütun3) VALUES ('değer1', 'değer2', 'değer3') Belirtilen sütunlara yeni bir değer ekler

DELETE işlemi, bir tablodan belirli bir veriyi silmek için kullanılır. Aşağıda DELETE işleminin kullanımı hakkında bir örnek verilmiştir:

Örnek Açıklama
DELETE FROM tablo_adı WHERE sütun='değer' Belirli bir sütundaki belirli bir değeri siler

Yukarıdaki örnekler, MySQL veritabanında veri güncelleme ve ekleme işlemlerinin nasıl yapılacağı hakkında genel bir fikir vermektedir. Bu işlemler, veritabanındaki verileri düzenli bir şekilde yönetmek için önemlidir.


Multiple Row Insert Örneği

MySQL veritabanında işlemler yaparken birden fazla satırı aynı anda eklemek oldukça kullanışlı bir özelliktir. Bu işlem "INSERT INTO" ile gerçekleştirilebilir. Fakat tek tek satır eklemek zahmetli bir iş olabilir.

Bir seferde birden fazla satır eklemek için "INSERT INTO" ifadesi kullanılırken "VALUES" ifadesinin ardından parantezler içine virgülle ayrılmış veriler yazılır. Örnek olarak;

id name age
1 John 25
2 Jane 30
3 Michael 35

Yukarıdaki tabloda görüldüğü üzere "id", "name" ve "age" değerleri farklı kayıtlar için ayrı ayrı yazılmıştır. Ancak birden fazla kayıt eklemek için tek bir "INSERT INTO" ifadesi kullanılabilir. Örnek olarak;

    INSERT INTO employees (id, name, age)     VALUES    	(1, 'John', 25),    	(2, 'Jane', 30),    	(3, 'Michael', 35);

Bu şekilde veritabanına bir seferde birden fazla satır ekleyebilirsiniz. Böylece tek tek satır eklemekten kurtulmuş olursunuz.


ON DUPLICATE KEY UPDATE Özelliği

MySQL'de ON DUPLICATE KEY UPDATE özelliği, bir INSERT INTO işlemi sırasında eğer veritabanındaki ilgili kayıt zaten varsa, o kaydın güncellenmesini sağlar. Bu işlemde, ON DUPLICATE KEY UPDATE cümlesi kullanarak hangi sütunun güncellenmesi gerektiğini belirtebiliriz.

Aşağıdaki örnek veritabanında, bir ürünün stok bilgisini güncellemek için ON DUPLICATE KEY UPDATE özelliği kullanılıyor. Ürün ID'si benzersiz olarak ayarlanmış, ürün adı, stok bilgisi ve fiyat bilgisi sütunları bulunuyor.

product_id product_name stock_amount price
101 İnce ustalık kitabı 50 25

Eğer, aynı ürün ID'si ile bir kayıt daha eklemeye çalışırsak, ON DUPLICATE KEY UPDATE özelliği devreye girer ve var olan kaydın stok bilgisini günceller.

INSERT INTO products (product_id, product_name, stock_amount, price) VALUES (101, 'İnce ustalık kitabı', 25, 30) ON DUPLICATE KEY UPDATE stock_amount=VALUES(stock_amount);

Bu sorgu, öncelikle 101 ID'si ile bir ürünün var olup olmadığını kontrol eder, varsa stok miktarını 25'ten 30'a günceller. Eğer böyle bir kayıt yoksa, yeni bir kayıt olarak eklenir.

Sonuç olarak, ON DUPLICATE KEY UPDATE özelliği, veritabanında benzersiz sütunlar kullanıldığında, veri güncelleme işlemini hızlandırmak ve daha az kod yazmak için kullanışlı bir yöntemdir.


INSERT INTO SELECT Örneği

MySQL'de bir tablodan diğerine veri aktarmak istediğinizde INSERT INTO SELECT işlemi kullanılabilir. Bu işlem ile bir tablodaki belirli sütunları, belirli koşullara göre seçip, başka bir tabloya aktarabilirsiniz.

Örneğin, bir müşteri tablonuz olduğunu ve bu tablodaki bazı müşterilerin e-posta adreslerinin yanlış yazıldığını fark ettiniz. Doğru e-posta adreslerini içeren bir başka tablonuzun olduğunu düşünelim. Bu durumda, belirli koşullara göre müşteri tablosundan sadece müşteri numaraları ve doğru e-posta adresleri seçilebilir ve bunlar, INSERT INTO SELECT işlemi ile doğru e-posta adreslerini içeren diğer tabloya aktarılabilir.

Müşteri Tablosu Doğru E-Posta Tablosu
  • ID
  • İsim
  • Soyisim
  • E-Posta
  • İsim
  • Soyisim
  • E-Posta

INSERT INTO SELECT işlemi ile müşteri tablosundan doğru sütunlar seçilerek WHERE koşulu ile eşleşen kayıtlar seçilebilir. Seçilen kayıtlar, diğer tabloya INSERT INTO komutu ile aktarılabilir.

Örneğin, aşağıdaki komut ile müşteri tablosundan ismi "John" olan müşterilerin ID ve E-Posta sütunları seçilip, doğru e-posta tablosuna eklenebilir:

    INSERT INTO dogru_eposta (ID, EPosta)    SELECT ID, EPosta    FROM musteri    WHERE Isim = 'John';

Bu komut, müşteri tablosundan sadece John ismindeki müşterilere ait ID ve E-Posta sütunlarını doğru e-posta tablosuna ekleyecektir.


TRUNCATE TABLE ve DROP TABLE Karşılaştırması

Veri tabanlarında sıklıkla kullanılan TRUNCATE TABLE ve DROP TABLE işlemleri arasında belirgin farklılıklar vardır. TRUNCATE TABLE işlemi, bir tablonun bütün satırlarını temizlemek için kullanılırken, DROP TABLE işlemi, tamamen bir tabloyu silmek için kullanılır.

TRUNCATE TABLE işlemi birçok durumda DROP TABLE işlemine kıyasla daha hızlı çalışır. Bu, tablonun veri boyutuna ve tablonun içindeki kayıt sayısına da bağlıdır. Ancak, TRUNCATE TABLE işlemi bir tablonun yapısını değiştiremez veya bir tablonun sütunlarını değiştiremez.

DROP TABLE işlemi, TRUNCATE TABLE işleminden daha yavaş çalışır. Bu işlem tabloyu ve tüm içeriği tamamen siler. Veritabanı yöneticisi, bütün bir tabloya artık ihtiyaçları olmadığı durumlarda DROP TABLE işlemi kullanabilirler. Ancak, bir tablo silindiği zaman, içindeki tüm veriler de silinir ve geri dönüşü olmaz.

TRUNCATE TABLE ve DROP TABLE işlemleri arasındaki farklara dikkat etmek önemlidir. Seçiminiz, işin gereksinimlerini karşılamak ve veri tabanına uygunluğu sağlamak adına değerlendirilmelidir.


Fonksiyonlar

MySQL veritabanında sık kullanılan fonksiyonlar arasında STRING, DATE, NUMERIC ve AGGREGATE fonksiyonları yer alır. Bu fonksiyonlar, verileri daha etkili bir şekilde yönetmek için kullanılır.

STRING fonksiyonları, karakter dizilerinin manipülasyonu için kullanılır. Bu fonksiyonlar içerisinde en sık kullanılanlar arasında CONCAT, LENGTH, SUBSTR, REPLACE ve TRIM sayılabilir.

DATE fonksiyonları, tarih ve saat verileri üzerinde işlem yapmak için kullanılır. Bu fonksiyonlar içerisinde en sık kullanılanlar arasında NOW, DATE, YEAR, MONTH, DAY, HOUR ve MINUTE sayılabilir.

NUMERIC fonksiyonları, sayısal veriler üzerinde işlem yapmak için kullanılır. Bu fonksiyonlar içerisinde en sık kullanılanlar arasında ROUND, CEIL, FLOOR, ABS ve MOD sayılabilir.

AGGREGATE fonksiyonları, toplama, sayma, ortalama, minimum ve maksimum değer bulmak gibi işlemler için kullanılır. Bu fonksiyonlar içerisinde en sık kullanılanlar arasında SUM, COUNT, AVG, MIN ve MAX sayılabilir.

Örneğin, LENGTH fonksiyonu kullanarak bir karakter dizisinin uzunluğunu bulabilirsiniz. Aşağıdaki örnek, "welcome" kelimesinin uzunluğunu döndürür:

SELECT LENGTH('welcome');

Bu örnek, "7" değerini döndürecektir.

NUMBER fonksiyonlarından biri olan ROUND fonksiyonu, bir sayıyı belirtilen ondalık basamak sayısına kadar yuvarlar. Örneğin, aşağıdaki örnek, 2.687 sayısını iki ondalık basamağa yuvarlayacaktır:

SELECT ROUND(2.687, 2);

Bu örnek, "2.69" değerini döndürecektir.

MySQL veritabanında kullanabileceğiniz daha birçok fonksiyon bulunmaktadır. Bu fonksiyonlar, verileri daha etkili bir şekilde yönetmenize olanak tanır.


DATE Fonksiyonu Kullanımı

MySQL'in DATE fonksiyonu veritabanında tarih verilerini çıkarmak, formatlamak ve manipüle etmek için kullanılır.

Fonksiyon, tarih verisindeki yıl, ay ve gün gibi bölümleri ayrıntılı bir şekilde belirlemenize izin verir. Bu işlem, verilerin daha düzenli ve anlaşılır olmasına yardımcı olur.

DATE fonksiyonunun kullanımı oldukça basittir. Fonksiyon, arasında '/' veya '-' bulunan üç tarih verisi alır: yıl, ay ve gün. Örneğin:

SELECT DATE(your_date_column) FROM your_table;

Bu işlem, 'your_table' adlı tablodaki 'your_date_column' sütunundaki tarihin yalnızca yıl, ay ve gün bölümlerini çıkarır.

DATE fonksiyonunun kullanımı sayesinde, tarih verileri XML, CSV veya JSON gibi diğer veri formatlarına dönüştürülürken de kullanılabilir. Bu dönüştürme işlemleri, verilerin işlenmesini hızlandırır ve daha kolay okunur hale getirir.

Bazı örnekler:

Tarih Verisi Çıktı
'2021-09-20' 2021-09-20
'1994-08-03' 1994-08-03
'2000-12-31' 2000-12-31

Bu örnekler, tarih verilerinin DATE fonksiyonu kullanılarak nasıl formatlandığını göstermektedir.


GROUP BY ve COUNT Fonksiyonu Örneği

MySQL'de veritabanında yer alan verilerin gruplanması ve sayılması için sıklıkla kullanılan GROUP BY ve COUNT fonksiyonları vardır. GROUP BY kullanarak verilerin belirli bir kriterde gruplanması mümkündür. Bu kriter herhangi bir veri sütunu olabilir. COUNT fonksiyonu ise belirli bir veri sütunu hakkında veritabanında bulunan toplam kayıt sayısını getirir.

Örneğin, bir restoran işletmesindeki müşteri siparişlerinin kaydedildiği bir veritabanı düşünelim. Veritabanında sipariş edilen ürünlerin adı, ürünün fiyatı ve siparişin tarih bilgisi yer alsın. Sipariş edilen ürünlerin hangileri daha fazla tercih ediliyor? Bu soruya yanıt aramak için GROUP BY ve COUNT fonksiyonları kullanılabilir.

Ürün Adı Fiyat Tarih
Burger 20 TL 12.07.2021
Pizza 25 TL 12.07.2021
Salata 15 TL 13.07.2021
Burger 20 TL 13.07.2021
Burger 20 TL 14.07.2021
Pizza 25 TL 14.07.2021

Bu örnekte, sipariş edilen ürünler burger ve pizza olarak iki farklı gruba ayrılmıştır. Ürünler hakkında kaydedilen toplam veri adedi bulunması için COUNT fonksiyonu kullanılabilir. Aşağıdaki sorgu, tablodaki verilerin ürün adına göre gruplanmasını ve her bir grubun toplam sayısını getirecektir:

SELECT ürün_adı, COUNT(*) FROM siparişlerGROUP BY ürün_adı;

Bu sorgu sonucunda aşağıdaki gibi bir çıktı elde edilecektir:

ürün_adı COUNT(*)
Burger 3
Pizza 2
Salata 1

Bu sonuçlara göre, burger ürünü siparişlerde en fazla tercih edilen üründür.


Dış Bağlantılar

MySQL ile çalışırken, verileri farklı tablolarda saklamak ve işlemek için dış bağlantı kullanmak sık karşılaşılan bir durumdur. En sık kullanılan dört dış bağlantı işlemi JOIN, INNER JOIN, LEFT JOIN ve RIGHT JOIN'dur. Bu işlemler, iki ya da daha fazla tabloyu birleştirmek ve alakalı verileri çıkarabilmek için kullanılır.

JOIN işlemi, iki tabloyu birleştirir ve örtüşen verileri bir araya getirir. INNER JOIN işlemi de benzer şekilde çalışır ve örtüşen verileri getirse de, farkı örtüşmeyen verileri çıkarmamasıdır.

LEFT JOIN, birincil tablodaki tüm satırları, eşleşen veri olmadan ikincil tabloya birleştirir. RIGHT JOIN, ikincil tablodaki tüm satırları, eşleşen veri olmadan birincil tabloya birleştirir. Bu işlemler, verilerin tamamını değil de, belirli koşulları karşılayan verileri sorgulamak için kullanılır.

Bu dış bağlantı işlemlerinin kullanımı oldukça kullanışlıdır ve SQL sorguları ile oldukça kolaydır. Birleştirilen tabloların verileri sayesinde, daha ayrıntılı ve geniş bir veri havuzu elde etmek mümkün olur. Bu da işlemler ve analizler için daha sağlıklı bir veri akışı sağlar.


INNER JOIN ve LEFT JOIN Kullanımı

MySQL'de JOIN işlemleri, verilerin farklı tablolarda saklanması durumunda birleştirilmesinde kullanılır. INNER JOIN, iki tablo arasında paylaşılan verileri getirirken, LEFT JOIN, sol taraftaki tablodaki tüm verileri ve sağ taraftaki tablodaki ifadesi uygun olan verileri getirir.Bir örnek vermek gerekirse, bir müşteriler tablonuz ve satışlar tablonuz olduğunu varsayalım. Müşteriler tablosunda her müşterinin birinci anahtarının olduğunu ve satışlar tablosundaki her satışın müşteri kimlik numarası ile eşleştiğini düşünün. Inner Join, satış verilerini her müşteri için gösterirken, Left Join'da her müşteri için satışlar da görüntülenir, ancak müşteri sıfır satış yapmışsa satışların yanında null değeri yer alır.

Aşağıdaki sorgu, müşteriler tablosunu ve satışlar tablosunu birleştirerek, INNER JOIN ve LEFT JOIN kullanarak nasıl veri çekebileceğinizi göstermektedir:

Müşteriler Satışlar
SELECT * FROM customers INNER JOIN sales ON customers.id=sales.customer_id; SELECT * FROM customers LEFT JOIN sales ON customers.id=sales.customer_id;
Yukarıdaki sorgu örnekleri, INNER JOIN ve LEFT JOIN işlemlerinin nasıl kullanılabileceğini anlamak için yararlıdır. Ancak gerçek hayatta, daha spesifik bir sorgu oluşturmanız ve yalnızca ihtiyacınız olan verileri getirmeniz daha yaygındır.


Multiple Table Join Örneği

MySQL'de birden fazla tablo arasında JOIN işlemi, verilerin daha karmaşık şekillerde birleştirilmesine olanak tanır. Bu JOIN işlemi, daha fazla tablodan veri eklemenizi sağlar ve verilerin birleştirildiği anahtar sütunu üzerinden kullanır.

Örneğin, "müşteriler" ve "siparişler" adlı iki ayrı tablonuz olduğunu varsayalım. Bu iki tabloyu JOIN işlemiyle birleştirmek istediğinizde, en azından bu iki tablonun birincil anahtarları arasında bir ilişki olmalıdır. Örneğin, "müşteri ID" sütunu, siparişler tablosundaki "müşteri ID" sütunuyla eşleştirilebilir.

Aşağıda, iki tablonun JOIN işlemiyle birleştirilmesi hakkında örnek bir sorgu verilmiştir:

müşteriler siparişler
id id
ad müşteri_id
soyadı tarih

SELECT müşteriler.ad, müşteriler.soyadı, siparişler.tarihFROM müşteriler JOIN siparişlerON müşteriler.id = siparişler.müşteri_id;

Bu sorgu, müşterilerin ad ve soyadı ile ilgili tüm siparişleri ve ilgili tarihleri listeler. JOIN işleminin nasıl yapıldığını ve anahtar sütunlarının nasıl kullanıldığını anlamak için bu örnek oldukça faydalıdır.

Bu örnek, iki tablonun birleştirilmesi için kullanılan en temel türdür. Ancak, birçok farklı JOIN türü vardır. Bu JOIN türleri hakkında daha fazla bilgiye sahip olmak, verilerinizin daha derinlemesine bir şekilde birleştirilmesine ve analiz edilmesine olanak tanır.