SQL Dili ve Veritabanı Nedir? #q02
31 Ocak 2023SQL
Merhaba, bu videoda SQL dilini, veritabanları nasıl çalıştırdığını ve günlük hayatta bize nasıl yardımcı olacağını göreceğiz. SQL’in temel komutlarını bir market örneğiyle, eğlenceli görseller eşliğinde incelemeye çalışacağız.
SELECT [Fiyonk Makarna] FROM Makarnalar
SELECT * FROM Makarnalar
SQL Kodundaki * işareti “tüm tablodaki veriler” demektir.
SELECT DISTINCT Makarna * FROM Makarnalar
SELECT’den sonraki DSTINCT komutunu kullanarak her bir üründen bir tane istemiş olduk.
WHERE komutu kullanacak Sıvı Yağların sadece 5 kiloluk olanını istemiş olduk.
Müdür Makarna Reyonuna Cingöz Marka yağ eklemesini ve Fiyatını 10 yazmasını istiyor.
Müdür Fırıldak Marka ürünleri 15 olarak güncellemesi istedi. Eğer WHERE kullanmasaydık tüm makarnaların fiyatını 15 yapardı.
Müdür FOT marka ürünleri reyondan kaldırmasını istiyor. Yine burada da WHERE yazmazsak tüm makarna reyonunu kaldırma işlemi yapılacaktır.
Önceden Makarna reyonu var. Ancak İtalyan Makarna’lar için yeni bir reyon açılmasını istiyor. Reyon içinde de Marka ve Fiyatı olsun istiyor.
SQL Dili Nedir?
SQL, açılımı Structured Query Language. Türkçesiyle, Yapılandırılmış Sorgu Dili demektir. Kısaca: Veritabanıyla konuşmamızı sağlayan bir dildir. SQL Dili Veritabanına soru sormamızı, veri eklememizi, güncellememizi ve silmemizi sağlar. Mesela Biz veritabanına “bana şu ürünü getir, şu müşteriyi ekle” deriz; SQL ise bu isteğimizi si steme doğru şekilde ileten yazılım dilidir.Veri Tabanı Nedir?
Peki Veritabanı Nedir? Bir veri tabanı, bilgilerin düzenli bir şekilde saklandığı dijital bir depo gibi düşünebilirsiniz. Bunu bir kütüphaneye benzetebiliriz:- Kitaplar = Bir satırdaki kayıt gibi düşünün.
- Kütüphanedeki Raflar = Veritabanındaki Tablolar olarak düşünebilirsiniz.
- Kütüphanenin tamamı = Bir Veri tabanı gibidir.
VeriTabanı Nelerden Oluşur?
Veri tabanını içeriğinde neler vardır.- Tablolar: Asıl bilgilerin saklandığı yer.
- Tablonun içindeki Sütunlar: Bilginin türünü tanımlar (ad, soyad, fiyat) gibi.
- Satırlar ( Yani Kayıtlar): Tek bir kişiyi ya da ürünü temsil eder.
- Anahtarlar: Her kaydı benzersiz hale getirir, tabloları birbirine bağlar.
Veritabanında Veri Tipleri
Veri Tabanında bir diğer önemli konu ise Veri Tipleridir. Her sütun bir veri tipiyle tanımlamamız gerekir.- Metin (VARCHAR, NVARCHAR) → örneğin; isimler, açıklamalar
- Sayı (INT, DECIMAL) → Örneğin, miktar, fiyat
- Tarih/Saat (DATE, DATETIME) → sipariş tarihi olabilir
- Mantıksal (BIT/BOOLEAN) → evet-hayır, Evli Bekar gibi değerleri saklarız.
SQL’in Temel İşlevleri?
SQL, veritabanına Dört Temel işlem vardır.- Veri sorgulama (SELECT) → “Ne var, göster bana.” Demiş oluyoruz.
- Veri ekleme (INSERT) → “Yeni bilgi ekle.”
- Veri güncelleme (UPDATE) → “Mevcut bilgiyi değiştir.”
- Veri silme (DELETE) → “Bilgiyi kaldır.”
Yerleşik SQL Fonksiyonlar
Ancak SQL sadece sorgulamak değil, aynı zamanda hesaplama yapmak için de fonksiyonları vardır. Birçok Fonksiyon var. Excel’deki gibi size birkaçını söylemek istiyorum. Mesela,- COUNT() → Tabloda kaç kayıt var?
- SUM() → Tablodaki toplam Sipariş tutarı nedir?
- AVG() → Tablonun ortalama fiyat kaç?
- MAX() → en yüksek değer
- MIN() → en düşük değer
SQL İçin Örnek Senaryolar
Bir markette müşteri ile geçen diyalogların SQL karşılıklarını değerlendirmek istiyorum. Böylece SQL komutları daha iyi anlaşılacak. Müşteri Diyor ki;SELECT
Merhaba, Bana Fiyonk Makarna Getirir misiniz?
SELECT [Fiyonk Makarna] FROM Makarnalar
SELECT * FROM
Diğer Örneğimize geçelim. Merhaba bana tüm Makarnaları getirir misiniz?
SELECT * FROM Makarnalar
SQL Kodundaki * işareti “tüm tablodaki veriler” demektir.
SELECT DISTINCT
Merhaba, Bana Tüm Makarna Çeşitlerinden birer tane getirir misiniz?
SELECT DISTINCT Makarna * FROM Makarnalar
SELECT’den sonraki DSTINCT komutunu kullanarak her bir üründen bir tane istemiş olduk.
WHERE
Merhaba, Bana Sıvı Yağlardan 5 Kg Sıvı Yağ Getirir misiniz. SELECT [Sıvı Yağ] FROM Yağlar Where KG=5
WHERE komutu kullanacak Sıvı Yağların sadece 5 kiloluk olanını istemiş olduk.
INSERT INTO
Yeni gelen Cingöz Markalı Makarnaları, Makarna reyonuna yerleştirip 10 TL fiyat yazar mısın? INSERT INTO Makarnalar (Marka, Fiyat) VALUES(‘Cingöz’,10)
Müdür Makarna Reyonuna Cingöz Marka yağ eklemesini ve Fiyatını 10 yazmasını istiyor.
UPDATE
Fırıldak markalı Makarna’nın fiyatını 15 TL olarak günceller misin? UPDATE Makarnalar SET Fiyat=15 Where [Marka]=’Fırıldak’
Müdür Fırıldak Marka ürünleri 15 olarak güncellemesi istedi. Eğer WHERE kullanmasaydık tüm makarnaların fiyatını 15 yapardı.
DELETE FROM
Artık FOT Markalı makarnaları satmayacağız. Onları reyondan Kaldırır mısın? DELETE From Makarnalar WHERE Marka=’FOT’
Müdür FOT marka ürünleri reyondan kaldırmasını istiyor. Yine burada da WHERE yazmazsak tüm makarna reyonunu kaldırma işlemi yapılacaktır.
CREATE TABLE
CREATE TABLE İtalyanMakarna(Marka nvarchar(50), Fiyat decimal(18,0))
Önceden Makarna reyonu var. Ancak İtalyan Makarna’lar için yeni bir reyon açılmasını istiyor. Reyon içinde de Marka ve Fiyatı olsun istiyor.