Detaylı Anlatım - SQL

Konu

#1
1. SQL Nedir?
SQL, ilişkisel veritabanı yönetim sistemleri (RDBMS) üzerinde veri yönetimi için kullanılan bir dildir. SQL ile veritabanına veri ekleyebilir, veriyi güncelleyebilir, silebilir ve çeşitli sorgularla bu verileri raporlayabilirsiniz. SQL’in en önemli avantajı, birçok farklı veritabanı yönetim sistemiyle (MySQL, PostgreSQL, SQL Server, Oracle) uyumlu çalışmasıdır.

2. Temel SQL Komutları ve Anlatım
SQL'deki temel komutlar, veritabanındaki verilerle çalışma biçimimize göre gruplandırılır:
› DDL (Data Definition Language): Veri tanımlama dili, veritabanı yapısını tanımlar. (CREATE, ALTER, DROP)
› DML (Data Manipulation Language): Veri işleme dili, veriler üzerinde işlem yapar. (SELECT, INSERT, UPDATE, DELETE)
› DCL (Data Control Language): Veri kontrol dili, veri erişimlerini kontrol eder. (GRANT, REVOKE)
› TCL (Transaction Control Language): Veri işlemlerini yönetir. (COMMIT, ROLLBACK, SAVEPOINT)

Temel SQL Örnekleri


a) CREATE TABLE: Yeni bir tablo oluşturur.
Kod:
CREATE TABLE Oyuncular (
    ID INT PRIMARY KEY,
    Isim VARCHAR(100),
    Soyisim VARCHAR(100),
    Sehir VARCHAR(100)
);

Yukarıdaki örnekte, "Oyuncular " adında bir tablo oluşturuyoruz. Bu tablo, ID, Isim, Soyisim ve Sehir sütunlarını içeriyor.


b) INSERT INTO: Tabloya yeni bir veri ekler.
Kod:
INSERT INTO Oyuncular (ID, Isim, Soyisim, Sehir)
VALUES (1, 'Mert', 'Yılmaz', 'Ankara');

Bu komut, "Oyuncular" tablosuna bir satır ekler.


c) SELECT: Tabloya kayıtlı verileri sorgular.
Kod:
SELECT Isim, Soyisim FROM Oyuncular WHERE Sehir = 'İstanbul';
Bu komut, sadece İstanbul şehrindeki oyuncuların isim ve soyisimlerini getirir.


d) UPDATE: Var olan bir veriyi günceller.
Kod:
UPDATE Oyuncular
SET Sehir = 'Adana'
WHERE ID = 1;

Bu komut, ID değeri 1 olan oyuncunun şehir bilgisini Adana olarak günceller.


e) DELETE: Veriyi tablodan siler.
Kod:
DELETE FROM Oyuncular WHERE ID = 1;
Bu komut, ID değeri 1 olan oyuncuyu siler.


Veri Sorgulama Örnekleri


a) WHERE: Belirli koşullara uyan verileri sorgulamak için kullanılır.
Kod:
SELECT * FROM Oyuncular WHERE Sehir = 'Ankara';

b) ORDER BY: Verileri belirli bir sütuna göre sıralar.
Kod:
SELECT * FROM Oyuncular ORDER BY Isim ASC;
Bu komut, oyuncuları isimlerine göre artan sırayla sıralar.


c) LIMIT: Getirilen veri sayısını sınırlar.
Kod:
SELECT * FROM Musteriler LIMIT 5;
Bu komut, tablodan sadece 5 satır veri getirir.


d) JOIN: İki tabloyu birleştirir.
Kod:
SELECT Oyuncular.Isim, Skinler.Skin
FROM Oyuncular
JOIN Skinler ON Oyuncular.ID = Skinler.ID;

Bu komut, "Oyuncular" ve "Skinler" tablolarını ID üzerinden birleştirir ve oyuncu isimleri ile skin ID'lerini getirir.


Veritabanı Yönetimi


a) CREATE DATABASE: Yeni bir veritabanı oluşturur.
Kod:
CREATE DATABASE YeniDB;

b) DROP DATABASE: Var olan bir veritabanını siler.
Kod:
DROP DATABASE YeniDB;

c) ALTER TABLE: Bir tabloyu değiştirmek için kullanılır. Örneğin, yeni bir sütun eklemek için:
Kod:
ALTER TABLE Oyuncular ADD Sifre VARCHAR(32);
Bu komut, "Oyuncular" tablosuna Sifre adlı yeni bir sütun ekler.


Gruplama ve İstatistiksel Fonksiyonlar


a) GROUP BY: Verileri belirli bir sütuna göre gruplandırır.
Kod:
SELECT Sehir, COUNT(*) FROM Oyuncular GROUP BY Sehir;
Bu komut, şehir bazında oyuncuların sayısını gruplar ve gösterir.


b) HAVING: GROUP BY ile kullanılan koşul belirleme komutudur.
Kod:
SELECT Sehir, COUNT(*) FROM Oyuncular GROUP BY Sehir HAVING COUNT(*) > 1;
Bu komut, bir şehirde birden fazla oyuncu olan şehirleri listeler.


Veritabanı İlişkileri ve Kısıtlamalar
SQL'de veri güvenliği ve tutarlılığı sağlamak için kısıtlamalar (constraints) kullanılır. Bu kısıtlamalar, veritabanı tablolarında verilerin doğru ve tutarlı olmasını sağlar. Kısıtlamalar, tablo veya sütun oluşturulurken tanımlanabilir ve verilerin belirli kurallara uymasını zorunlu kılar.


› PRIMARY KEY (Birincil Anahtar)
› Bir tablodaki her satırı benzersiz olarak tanımlayan sütun veya sütun setidir. Bir tablodaki PRIMARY KEY değerleri benzersizdir ve boş (NULL) olamaz.
  › Benzersizlik: Her satırın benzersiz bir kimliğe sahip olmasını sağlar.
  › Kullanım Örneği;
Kod:
CREATE TABLE Ogrenciler (
    OgrenciID INT PRIMARY KEY,
    Isim VARCHAR(50),
    Soyisim VARCHAR(50)
);

Bu örnekte OgrenciID sütunu her öğrenci için benzersiz ve boş olamaz. Bu sütun, tablo için birincil anahtar olarak tanımlanmıştır.

› FOREIGN KEY (Yabancı Anahtar)
› Bir tabloyu başka bir tabloya bağlayan bir kısıtlamadır. Bir tablodaki bir sütun, başka bir tablodaki bir sütuna referans verir. FOREIGN KEY kısıtlaması, iki tablo arasındaki ilişkileri tanımlar ve referans bütünlüğünü sağlar. Bu, veri tutarlılığını korur çünkü bir tabloda var olmayan bir değeri referans gösteremezsiniz.
  › Referans Bütünlüğü: Yabancı anahtar, bir tabloya başka bir tablodaki bir satırı işaret eder.
  › Zincirleme Silme/Güncelleme: Bir satır silindiğinde veya güncellendiğinde, bağlı yabancı anahtarlar da silinebilir ya da güncellenebilir.
  › Kullanım Örneği;
Kod:
CREATE TABLE Siparisler (
    SiparisID INT PRIMARY KEY,
    MusteriID INT,
    SiparisTarihi DATE,
    FOREIGN KEY (MusteriID) REFERENCES Musteriler(MusteriID)
);

  › Bu örnekte MusteriID sütunu, "Musteriler" tablosundaki MusteriID sütununa referans verir. Yani, Siparisler tablosuna yalnızca var olan müşteriler eklenebilir.

› UNIQUE (Benzersiz)
› Bir sütundaki veya sütun grubundaki tüm değerlerin benzersiz olmasını sağlar. UNIQUE kısıtlaması, bir sütuna aynı değerin birden fazla girilmesini engeller. Ancak, bu sütundaki değerlerin NULL olmasına izin verir (ancak birden fazla NULL değeri eklenemez).
  › Kullanım Örneği:
Kod:
CREATE TABLE Personel (
    PersonelID INT PRIMARY KEY,
    Email VARCHAR(100) UNIQUE,
    Telefon VARCHAR(20)
);

  › Bu örnekte, Email sütununa birden fazla kez aynı e-posta adresi girilemez. Her e-posta adresi benzersiz olmalıdır.

› NOT NULL (Boş Olamaz)
› Bir sütundaki verilerin boş (NULL) olamayacağını belirtir. Bu kısıtlama, bir satır eklenirken veya güncellenirken bu sütunun kesinlikle bir değer içermesini zorunlu kılar.
  › Kullanım Örneği;
Kod:
CREATE TABLE Urunler (
    UrunID INT PRIMARY KEY,
    UrunAdi VARCHAR(100) NOT NULL,
    Fiyat DECIMAL(10, 2)
);

  › Bu örnekte, UrunAdi sütunu her zaman bir değer içermelidir; boş bırakılamaz.

› CHECK (Koşul Kontrolü)
› Belirli bir sütundaki değerlerin belirli bir koşula uymasını sağlar. CHECK kısıtlaması, bir sütundaki değerlerin geçerli olup olmadığını kontrol eder.
  › Kullanım Örneği;
Kod:
CREATE TABLE Calisanlar (
    CalisanID INT PRIMARY KEY,
    Yas INT CHECK (Yas >= 18)
);

  › Bu örnekte, Yas sütunundaki değerin 18'den küçük olmasına izin verilmez. Yani yalnızca 18 ve üzeri yaşlarda olan kişiler tabloya eklenebilir.

› DEFAULT (Varsayılan Değer)
› Bir sütuna veri girilmediğinde otomatik olarak belirlenen bir değeri kullanır. DEFAULT kısıtlaması, bir sütunun boş bırakılması durumunda, bu sütunun varsayılan bir değer almasını sağlar.
  › Kullanım Örneği;
Kod:
CREATE TABLE Musteriler (
    MusteriID INT PRIMARY KEY,
    Isim VARCHAR(100),
    Sehir VARCHAR(100) DEFAULT 'Yok'
);

  › Bu örnekte, Sehir sütununa bir değer girilmezse otomatik olarak "Yok" değeri atanır.

› AUTO_INCREMENT (Otomatik Artan)
› Bir sütundaki değerlerin otomatik olarak artmasını sağlar. Genellikle birincil anahtarlarla birlikte kullanılır ve her yeni kayıt için bu sütun değeri otomatik olarak artırılır.
  › Kullanım Örneği;
Kod:
CREATE TABLE Ogrenciler (
    OgrenciID INT PRIMARY KEY AUTO_INCREMENT,
    Isim VARCHAR(50),
    Soyisim VARCHAR(50)
);

  › Bu örnekte, OgrenciID sütunu otomatik olarak artan bir değere sahip olur. Her yeni öğrenci eklendiğinde, OgrenciID değeri bir önceki değerin bir fazlası olur.
Ücretli Eklenti İçin Discord: egopatient veya Özel Mesaj
Son Düzenleme: 19-10-2024, 14:39, Düzenleyen: Maravilha.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task
Kayıt Ol