Zephyrnet Logosu

SQL Komutları (DDL, DML, DCL, TCL, DQL): Türler, Söz Dizimi ve Örnekler

Tarih:

İçindekiler

Genel Bakış

SQL anlamına gelir Yapılandırılmış sorgu dili, ilişkisel veritabanlarını yönetmek ve değiştirmek için kullanılan güçlü bir dildir. Bu kapsamlı kılavuzda, veritabanlarıyla etkili bir şekilde etkileşim kurmanızı sağlayacak bilgilerle sizi güçlendirmek için SQL komutlarını, türlerini, söz dizimini ve pratik örnekleri inceleyeceğiz.

SQL nedir?

SQL veya Yapılandırılmış Sorgu Dili, ilişkisel veritabanlarını yönetmek ve sorgulamak için tasarlanmış, alana özgü bir dildir. Veritabanlarıyla etkileşime geçmek için standartlaştırılmış bir yol sağlayarak verilerle çalışan herkes için önemli bir araç haline gelir.

SQL komutları, bir veritabanı yönetim sistemi (DBMS) ile iletişim kurmanın temel yapı taşlarıdır. Bu komutlar, bir veritabanı üzerinde tablo oluşturma, veri ekleme, bilgi sorgulama, erişim ve güvenliği kontrol etme gibi çeşitli işlemleri gerçekleştirmek için kullanılır. SQL komutları, her biri veritabanı yönetimi sürecinde belirli bir amaca hizmet eden farklı türlere ayrılabilir.

SQL Komutlarının Sınıflandırılması

SQL komutları, her biri veritabanı yönetiminde farklı bir amaca hizmet eden beş ana türe ayrılabilir. Bu kategorileri anlamak, verimli ve etkili veritabanı işlemleri için çok önemlidir. SQL komutları beş ana türe ayrılabilir:

Veri Tanımlama Dili (DDL) Komutları

DDL nedir?

DDL veya Veri Tanımlama Dili, veritabanı nesnelerinin yapısını tanımlamak ve yönetmek için kullanılan bir SQL alt kümesidir. DDL komutları genellikle veritabanı şemasını ayarlamak için bir kez yürütülür.

DDL komutları; tablolar, dizinler ve kısıtlamalar gibi veritabanı nesnelerinin yapısını tanımlamak, değiştirmek ve yönetmek için kullanılır. Bazı yaygın DDL komutları şunları içerir:

  • CREATE TABLE: Yeni bir tablo oluşturmak için kullanılır.
  • ALTER TABLE: Mevcut bir tablonun yapısını değiştirmek için kullanılır.
  • DROP TABLE: Tabloyu silmek için kullanılır.
  • CREATE INDEX: Bir tabloda dizin oluşturmak ve sorgu performansını artırmak için kullanılır.

DDL komutları veritabanı şemasının tanımlanmasında çok önemli bir rol oynar.

Veri İşleme Dili (DML) Komutları SQL'de

DML komutları veritabanındaki verileri almak, eklemek, güncellemek ve silmek için kullanılır. Yaygın DML komutları şunları içerir:

  • SEÇ: Bir veya daha fazla tablodan veri almak için kullanılır.
  • INSERT: Tabloya yeni kayıt eklemek için kullanılır.
  • GÜNCELLEME: Bir tablodaki mevcut kayıtları değiştirmek için kullanılır.
  • DELETE: Tablodaki kayıtları silmek için kullanılır.

DML komutları, bir veritabanında depolanan verileri yönetmek için gereklidir.

Veri Kontrol Dili (DCL) Komutları SQL'de

DCL komutları veritabanı güvenliğini ve erişim kontrolünü yönetmek için kullanılır. İki temel DCL komutu şunlardır:

  • GRANT: Veritabanı kullanıcılarına veya rollerine belirli ayrıcalıklar vermek için kullanılır.
  • REVOKE: Daha önce verilen ayrıcalıkları iptal etmek için kullanılır.

DCL komutları yalnızca yetkili kullanıcıların veritabanına erişebilmesini ve veritabanını değiştirebilmesini sağlar.

İşlem Kontrol Dili (TCL) Komutları SQL'de

TCL komutları, veri bütünlüğünü sağlayarak veritabanı işlemlerini yönetmek için kullanılır. Anahtar TCL komutları şunları içerir:

  • COMMIT: Bir işlemi gerçekleştirir ve değişiklikleri kalıcı olarak kaydeder.
  • ROLLBACK: İşlem sırasında yapılan değişiklikleri geri alır.
  • KAYIT NOKTASI: Bir işlem içinde daha sonra geri dönebileceğiniz bir nokta belirler.

TCL komutları, bir veritabanındaki verilerin tutarlılığını korumak için hayati öneme sahiptir.

SQL'de Veri Sorgulama Dili (DQL) Komutları

DQL komutları yalnızca veritabanından veri almaya odaklanır. iken SELECT deyimi en öne çıkan DQL komutudur, belirli kriterlere göre bir veya daha fazla tablodan veri çıkarma ve sunmada kritik bir rol oynar. DQL komutları, depolanan verilerden değerli bilgiler elde etmenizi sağlar.

SQL komutları, her biri veritabanı yönetiminin belirli bir yönüne göre uyarlanmış çeşitli kategorileri kapsar. İster veritabanı yapılarını tanımlıyor (DDL), ister verileri yönetiyor (DML), erişimi kontrol ediyor (DCL), işlemleri yönetiyor (TCL) veya bilgi için sorgulama yapıyor olun (DQL), SQL, ilişkisel veritabanlarıyla etkili bir şekilde etkileşimde bulunmak için ihtiyaç duyduğunuz araçları sağlar. Bu kategorileri anlamak, elinizdeki görev için doğru SQL komutunu seçmenizi sağlar ve sizi daha yetkin bir veritabanı uzmanı yapar.

DDL, DML, DCL, TCL ve DQL Komutlarını Ayırt Etme

SQL komutlarının her kategorisi belirli bir amaca hizmet eder:

  • DDL komutları veritabanı yapısını tanımlar ve yönetir.
  • DML komutları veritabanındaki verileri yönetir.
  • DCL komutları erişimi ve güvenliği kontrol eder.
  • TCL komutları işlemleri ve veri bütünlüğünü yönetir.
  • DQL komutları veritabanından veri almaya adanmıştır.

Ortak DDL Komutları

TABLO OLUŞTUR

CREATE TABLE komutu veritabanında yeni bir tablo tanımlamak için kullanılır. İşte bir örnek:

CREATE TABLE Employees (
    EmployeeID INT PRIMARY KEY,
    FirstName VARCHAR(50),
    LastName VARCHAR(50),
    ...
);

Bu komut, çalışan kimliği, adı, soyadı ve daha fazlasına ilişkin sütunları içeren "Çalışanlar" adlı bir tabloyu tanımlar.

TABLOYU DEĞİŞTİR

ALTER TABLE komutu mevcut bir tabloyu değiştirmenizi sağlar. Örneğin, yeni bir sütun ekleyebilir veya mevcut bir sütunun veri türünü değiştirebilirsiniz:

ALTER TABLE Employees
ADD Email VARCHAR(100);

Bu, "Çalışanlar" tablosuna bir "E-posta" sütunu ekler.

BIRAKMA TABLOSU

DROP TABLE komutu bir tabloyu veritabanından kaldırır:

DROP TABLE Employees;

Bu, "Çalışanlar" tablosunu ve içindeki tüm verileri siler.

ENDEKS OLUŞTUR

CREATE INDEX komutu, bir tablonun bir veya daha fazla sütununda dizin oluşturmak ve sorgu performansını artırmak için kullanılır:

CREATE INDEX idx_LastName ON Employees(LastName);

Bu, "Çalışanlar" tablosunun "Soyadı" sütununda bir dizin oluşturur.

Örneklerle SQL'de DDL Komutları

DDL komutları için kod parçacıkları ve bunlara karşılık gelen çıktılar şunlardır:

SQL Komutu Kod Parçacığı Çıktı
TABLO OLUŞTUR CREATE TABLE Employees ( EmployeeID INT PRIMARY KEY, FirstName VARCHAR(50), LastName VARCHAR(50), Department VARCHAR(50) ); Belirtilen sütunlarla yeni “Çalışanlar” tablosu oluşturuldu.
TABLOYU DEĞİŞTİR ALTER TABLE Employees ADD Email VARCHAR(100); “Çalışanlar” tablosuna “E-posta” sütunu eklendi.
BIRAKMA TABLOSU DROP TABLE Employees; “Çalışanlar” tablosu ve verileri silindi.
Bu örnekler, veritabanı nesnelerini oluşturmak, değiştirmek ve silmek için DDL komutlarının kullanımını gösterir.

Veri İşleme Dili (DML) Komutları SQL'de

DML nedir?

DML veya Veri İşleme Dili, bir veritabanındaki verileri almak, eklemek, güncellemek ve silmek için kullanılan bir SQL alt kümesidir. DML komutları, tablolarda depolanan verilerle çalışmak için temeldir.

Ortak DML Komutları SQL'de

SEÇİN

SELECT ifadesi, belirtilen ölçütlere göre bir veya daha fazla tablodan veri alır:

SELECT FirstName, LastName FROM Employees WHERE Department = 'Sales';

Bu sorguda “Satış” bölümündeki çalışanların ad ve soyadları seçilir.

INSERT

INSERT deyimi tabloya yeni kayıtlar ekler:

INSERT INTO Employees (FirstName, LastName, Department) VALUES ('John', 'Doe', 'HR');

Bu, "Çalışanlar" tablosuna yeni bir çalışan kaydı ekler.

GÜNCELLEME

UPDATE ifadesi bir tablodaki mevcut kayıtları değiştirir:

GÜNCELLEME Çalışanların AYARLANMASI Maaş = Maaş * 1.1 NEREDE Departman = 'Mühendislik';

Bu, “Mühendislik” departmanındaki çalışanların maaşını %10 artırıyor.

SİL

DELETE deyimi bir tablodaki kayıtları kaldırır:

DELETE FROM Employees WHERE Department = 'Finance';

Bu, çalışanları "Finans" departmanından siler.

Örneklerle SQL'de DML Komutları

DML komutları için kod parçacıkları ve bunlara karşılık gelen çıktılar şunlardır:

SQL Komutu Kod Parçacığı Çıktı
SEÇİN SELECT FirstName, LastName FROM Employees WHERE Department = 'Sales'; “Satış” departmanındaki çalışanların ad ve soyadlarını alır.
INSERT INSERT INTO Employees (FirstName, LastName, Department) VALUES ('John', 'Doe', 'HR'); “Çalışanlar” tablosuna yeni çalışan kaydı eklendi.
GÜNCELLEME UPDATE Employees SET Salary = Salary * 1.1 WHERE Department = 'Engineering'; “Mühendislik” departmanındaki çalışanların maaşları %10 oranında artırıldı.
SİL DELETE FROM Employees WHERE Department = 'Finance'; “Finans” departmanındaki çalışanlar silindi.
Bu örnekler, DML komutlarını kullanarak bir veritabanındaki verilerin nasıl değiştirileceğini gösterir.

Veri Kontrol Dili (DCL) Komutları SQL'de

DCL nedir?

DCL veya Veri Kontrol Dili, veritabanı güvenliğini ve erişim kontrolünü yönetmek için kullanılan SQL'in bir alt kümesidir. DCL komutları veritabanına kimin erişebileceğini ve hangi eylemleri gerçekleştirebileceğini belirler.

Ortak DCL Komutları

HİBE

GRANT komutu, veritabanı kullanıcılarına veya rollerine belirli ayrıcalıklar vermek için kullanılır:

GRANT SELECT, INSERT ON Employees TO HR_Manager;

Bu, "HR_Manager" rolüne "Çalışanlar" tablosuna veri seçme ve ekleme ayrıcalıklarını verir.

İPTAL ET

REVOKE komutu daha önce verilen ayrıcalıkları iptal etmek için kullanılır:

REVOKE DELETE ON Customers FROM Sales_Team;

Bu, "Müşteriler" tablosundaki verileri "Satış_Takımı" rolünden silme ayrıcalığını iptal eder.

Örneklerle SQL'de DCL Komutları

Aşağıda DCL komutları için kod parçacıkları ve bunlara karşılık gelen gerçek değer çıktıları verilmiştir:

SQL Komutu Kod Parçacığı Çıktı (Gerçek Değer Örneği)
HİBE GRANT SELECT, INSERT ON Employees TO HR_Manager; "HR_Manager" rolü, "Çalışanlar" tablosuna veri seçme ve ekleme ayrıcalıkları verdi.
İPTAL ET REVOKE DELETE ON Customers FROM Sales_Team; "Müşteriler" tablosundan veri silme ayrıcalığı "Satış_Takımı" rolünden iptal edildi.
Bu örnekler, DCL komutları kullanılarak bir veritabanında erişimin ve güvenliğin nasıl kontrol edileceğini gösterir.

SQL'de İşlem Kontrol Dili (TCL) Komutları

TCL nedir?

TCL veya İşlem Kontrol Dili, veritabanı işlemlerini yönetmek için kullanılan SQL'in bir alt kümesidir. TCL komutları, veritabanındaki değişikliklerin ne zaman kalıcı olarak kaydedileceğini veya geri alınacağını kontrol etmenize izin vererek veri bütünlüğünü sağlar.

SQL'de Ortak TCL Komutları

KOMİTE

COMMIT komutu, bir işlem sırasında yapılan değişiklikleri veritabanına kalıcı olarak kaydetmek için kullanılır:

BEGIN;
-- SQL statements
COMMIT;

Bu örnek bir işlemi başlatır, SQL ifadelerini gerçekleştirir ve ardından değişiklikleri veritabanına kaydeder.

GERİ DÖNÜŞ

ROLLBACK komutu, bir işlem sırasında yapılan değişiklikleri geri almak için kullanılır:

BEGIN;
-- SQL statements
ROLLBACK;

Bu örnek bir işlemi başlatır, SQL ifadelerini gerçekleştirir ve ardından değişiklikleri geri alarak veritabanını önceki durumuna geri yükler.

KAYDETME NOKTASI

SAVEPOINT komutu, bir işlem içinde daha sonra geri dönebileceğiniz bir nokta belirlemenize olanak tanır:

BEGIN;
-- SQL statements
SAVEPOINT my_savepoint;
-- More SQL statements
ROLLBACK TO my_savepoint;

Bu örnek, bir kayıt noktası oluşturur ve daha sonra o noktaya geri dönerek işlemdeki bazı değişiklikleri geri alır.

Örneklerle SQL'de TCL Komutları

TCL komutları için kod parçacıkları ve bunlara karşılık gelen çıktılar şunlardır:

SQL Komutu Kod Parçacığı Çıktı
KOMİTE BEGIN; -- SQL statements COMMIT; İşlemde yapılan değişiklikler kalıcı olarak kaydedilir.
GERİ DÖNÜŞ BEGIN; -- SQL statements ROLLBACK; İşlemde yapılan değişiklikler geri alındı.
KAYDETME NOKTASI BEGIN; -- SQL statements SAVEPOINT my_savepoint; -- More SQL statements ROLLBACK TO my_savepoint; Kayıt noktası oluşturuldu ve daha sonra işlemdeki belirli bir noktaya geri dönmek için kullanıldı.
Bu örnekler, her SQL komutu türü için kod parçacıkları ve bunlara karşılık gelen gerçek değer çıktılarını tablo biçiminde sağlar.

SQL'de Veri Sorgulama Dili (DQL) Komutları

DQL nedir?

Veri Sorgulama Dili (DQL), öncelikle bir veritabanından veri sorgulamak ve almak için kullanılan SQL'in (Yapılandırılmış Sorgu Dili) kritik bir alt kümesidir. SQL, veri işlemeye yönelik bir dizi komutu kapsarken, DQL komutları yalnızca veri alımına odaklanır.

Veri Sorgulama Dili (DQL), SQL'in temelini oluşturur ve ilişkisel veritabanlarından veri almak ve analiz etmek için vazgeçilmezdir. DQL komutları ve kavramlarına ilişkin sağlam bir anlayışla, değerli bilgiler elde edebilir ve bilinçli karar almayı yönlendiren raporlar oluşturabilirsiniz. İster bir veritabanı yöneticisi, ister veri analisti veya yazılım geliştiricisi olun, veritabanlarıyla etkili bir şekilde çalışmak için DQL'de uzmanlaşmak çok önemlidir.

DQL'in Amacı

DQL'in temel amacı, kullanıcıların bir veritabanından anlamlı bilgiler çıkarmasına olanak sağlamaktır. Belirli kayıtları almanız, verileri belirli koşullara göre filtrelemeniz veya sonuçları toplayıp sıralamanız gerekiyorsa, DQL bunu verimli bir şekilde yapmanız için gereken araçları sağlar. DQL, aşağıdakiler de dahil olmak üzere veritabanıyla ilgili çeşitli görevlerde önemli bir rol oynar:

  • Rapor oluşturma
  • İstatistiksel bilgilerin çıkarılması
  • Verileri kullanıcılara gösterme
  • Karmaşık iş sorgularını yanıtlama

SQL'de Ortak DQL Komutları

SELECT deyimi

The SELECT ifadesi DQL'in temel taşıdır. Bir veritabanındaki bir veya daha fazla tablodan veri almanızı sağlar. İşte temel sözdizimi SELECT Beyan:

SELECT column1, column2, ...FROM table_nameWHERE condition;
  • column1, column2, …: Tablodan almak istediğiniz sütunlar.
  • table_name: Veri almak istediğiniz tablonun adı.
  • condition (isteğe bağlı): Hangi satırların alınacağını belirten koşul. Atlanırsa tüm satırlar alınır.
Örnek: Belirli Sütunları Alma
SELECT FirstName, LastNameFROM Employees;

Bu sorgu “Çalışanlar” tablosundaki tüm çalışanların ad ve soyadlarını alır.

Örnek: Verileri Koşullu Olarak Filtreleme
SELECT ProductName, UnitPriceFROM ProductsWHERE UnitPrice > 50;

Bu sorgu “Ürünler” tablosundan birim fiyatı 50’den büyük olan ürünlerin isimlerini ve birim fiyatlarını alır.

FARKLI Anahtar Kelime

The DISTINCT anahtar kelime ile birlikte kullanılır SELECT sonuç kümesinden yinelenen satırları ortadan kaldıran ifade. Yalnızca benzersiz değerlerin döndürülmesini sağlar.

Örnek: DISTINCT'i kullanma
SELECT DISTINCT CountryFROM Customers;

Bu sorgu, "Müşteriler" tablosundan benzersiz ülkelerin bir listesini alarak mükerrer girişleri ortadan kaldırır.

Madde ORDER BY

The ORDER BY sonuç kümesini bir veya daha fazla sütuna göre artan veya azalan düzende sıralamak için kullanılır.

Örnek: Sonuçları Sıralama
SELECT ProductName, UnitPriceFROM ProductsORDER BY UnitPrice DESC;

Bu sorgu, “Ürünler” tablosundan ürün adlarını ve birim fiyatlarını alır ve bunları birim fiyata göre azalan şekilde sıralar.

Toplama İşlevleri

DQL, satır grupları üzerinde hesaplamalar yapmanıza ve tek değerler döndürmenize olanak tanıyan çeşitli toplama işlevlerini destekler. Ortak toplama işlevleri şunları içerir: COUNT, SUM, AVG, MIN, ve MAX.

Örnek: Toplama İşlevlerini Kullanma
SELECT AVG(UnitPrice) AS AveragePriceFROM Products;

Bu sorgu “Ürünler” tablosundaki ürünlerin ortalama birim fiyatını hesaplar.

KATILIN Operasyonlar

DQL, birden çok tablodaki verileri birleştirmenizi sağlar. JOIN işlemleri. INNER JOIN, LEFT JOIN, RIGHT JOIN, ve FULL OUTER JOIN yaygın birleştirme türleridir.

Örnek: INNER JOIN'i kullanma
SELECT Orders.OrderID, Customers.CustomerNameFROM OrdersINNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;

Bu sorgu, “MüşteriKimliği” sütununu temel alarak “Siparişler” ve “Müşteriler” tablolarını birleştirerek sipariş kimliklerini ve müşteri adlarını alır.

GROUP BY ile Verileri Gruplama

The GROUP BY yan tümcesi, ortak bir değeri paylaşan satırları bir veya daha fazla sütunda gruplandırmanıza olanak tanır. Daha sonra toplama işlevlerini her gruba uygulayabilirsiniz.

Örnek: Verileri Gruplandırma ve Toplama
SELECT Country, COUNT(*) AS CustomerCountFROM CustomersGROUP BY Country;

Bu sorgu, müşterileri ülkeye göre gruplandırır ve her ülkedeki müşteri sayısını hesaplar.

SQL'de Gelişmiş DQL Kavramları

subqueries

İç içe geçmiş sorgular olarak da bilinen alt sorgular, diğer sorguların içine yerleştirilmiş sorgulardır. Ana sorguda kullanılacak değerleri almak için kullanılabilirler.

Örnek: Alt Sorgu Kullanma
SELECT ProductNameFROM ProductsWHERE CategoryID IN (SELECT CategoryID FROM Categories WHERE CategoryName = 'Beverages');

Bu sorgu, kategori kimliğini bulmak için bir alt sorgu kullanarak "İçecekler" kategorisindeki ürünlerin adlarını alır.

Görünümler

Görünümler, SQL'de bir sorgu tanımlanarak oluşturulan sanal tablolardır. Karmaşık sorguları basitleştirmenize ve kullanıcılara tutarlı bir arayüz sunmanıza olanak tanır.

Örnek: Görünüm Oluşturma
CREATE VIEW ExpensiveProducts ASSELECT ProductName, UnitPriceFROM ProductsWHERE UnitPrice > 100;

Bu sorgu, birim fiyatı 100'ün üzerinde olan ürünler için ürün adlarını ve birim fiyatlarını içeren "Pahalı Ürünler" adında bir görünüm oluşturur.

Pencere İşlevleri

Pencere işlevleri, sonuç kümesindeki geçerli satırla ilgili bir dizi satır boyunca hesaplamalar yapmak için kullanılır. Genellikle kümülatif toplamların hesaplanması ve satırların sıralanması gibi görevler için kullanılırlar.

Örnek: Pencere İşlevini Kullanma
SELECT OrderID, ProductID, UnitPrice, SUM(UnitPrice) OVER (PARTITION BY OrderID) AS TotalPricePerOrderFROM OrderDetails;

Bu sorgu, verileri siparişe göre bölümlemek için bir pencere işlevi kullanarak sipariş başına toplam fiyatı hesaplar.

Temel SQL Sorguları

Temel SQL Sorgularına Giriş

Temel SQL sorguları, bir veritabanından veri almak ve görüntülemek için gereklidir. Birçok karmaşık veritabanı işleminin temelini oluştururlar.

Temel SQL Sorgularına Örnekler

SELECT deyimi

SELECT ifadesi bir veya daha fazla tablodan veri almak için kullanılır. İşte basit bir örnek:

SELECT * FROM Customers;

Bu sorgu “Müşteriler” tablosundaki tüm sütunları alır.

Verileri WHERE ile Filtreleme

kullanarak verileri filtreleyebilirsiniz. WHERE fıkra.

SELECT * FROM Employees WHERE Department = 'Sales';

Bu sorgu, “Çalışanlar” tablosundan “Satış” departmanında görev yapan tüm çalışanları getirir.

ORDER BY ile Verileri Sıralama

The ORDER BY Sonuç kümesini sıralamak için cümlecik kullanılır.

SELECT * FROM Products ORDER BY Price DESC;

Bu sorgu, "Ürünler" tablosundaki tüm ürünleri alır ve bunları azalan fiyata göre sıralar.

GROUP BY ile Verileri Toplama

kullanarak verileri toplayabilirsiniz. GROUP BY fıkra.

SELECT Department, AVG(Salary) AS AvgSalary FROM Employees GROUP BY Department;

Bu sorgu “Çalışanlar” tablosundaki her departmanın ortalama maaşını hesaplar.

Koşulları AND/OR ile Birleştirme

Koşulları kullanarak birleştirebilirsiniz AND ve OR.

SELECT * FROM Orders WHERE (CustomerID = 1 AND OrderDate >= '2023-01-01') OR TotalAmount > 1000;

Bu sorgu, müşteri kimliğinin 1 olduğu ve sipariş tarihinin 1 Ocak 2023 veya sonrasında olduğu ya da toplam tutarın 1000'den büyük olduğu siparişleri alır.

Sonuçları LIMIT ile Sınırlama

The LIMIT cümlesi, döndürülen satır sayısını sınırlamak için kullanılır.

SELECT * FROM Products LIMIT 10;

Bu sorgu "Ürünler" tablosundan ilk 10 satırı getirir.

JOIN ile Tabloları Birleştirmek

Birden fazla tablodaki verileri kullanarak birleştirebilirsiniz. JOIN.

SELECT Customers.CustomerName, Orders.OrderDate FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

Bu sorgu, MüşteriNo üzerinde “Müşteriler” ve “Siparişler” tablolarına katılarak sipariş vermiş olan müşterilerin müşteri isimlerini ve sipariş tarihlerini alır.

Bu temel SQL sorgu örnekleri, ilişkisel bir veritabanıyla çalışırken karşılaşılan yaygın senaryoları kapsar. SQL sorguları, veritabanı uygulamanızın özel ihtiyaçlarına uyacak şekilde özelleştirilebilir ve genişletilebilir.

SQL Hile Sayfası

Bir SQL yardımcı sayfası, temel SQL komutları, sözdizimi ve kullanımı için hızlı bir referans sağlar. Hem yeni başlayanlar hem de deneyimli SQL kullanıcıları için kullanışlı bir araçtır. SQL geliştiricileri ve veritabanı yöneticilerinin SQL sözdizimine ve örneklere hızlı bir şekilde erişmesi için kullanışlı bir araç olabilir.

Yaygın SQL komutlarını ve bunların açıklamalarını içeren eksiksiz bir SQL kopya sayfası:

SQL Komutu Açıklama Örnek E-posta
SEÇİN Bir tablodan veri alır. SELECT FirstName, LastName FROM Employees;
WHERE ile FİLTRELEME Belirtilen koşula göre satırları filtreler. SELECT ProductName, Price FROM Products WHERE Price > 50;
ORDER BY ile SIRALAMA Sonuç kümesini artan (ASC) veya azalan (DESC) düzende sıralar. SELECT ProductName, Price FROM Products ORDER BY Price DESC;
GROUP BY ile BİRLEŞTİRME Aynı değerlere sahip satırları özet satırları halinde gruplandırır ve toplama işlevlerini uygular. SELECT Department, AVG(Salary) AS AvgSalary FROM Employees GROUP BY Department;
BİRLEŞTİRME KOŞULLARI Koşulları kullanarak birleştirir AND ve OR operatörler. SELECT * FROM Orders WHERE (CustomerID = 1 AND OrderDate >= '2023-01-01') OR TotalAmount > 1000;
SONUÇLARI SINIRLAMA İle döndürülen satır sayısını sınırlar LIMIT ve ile satırları atlar OFFSET. SELECT * FROM Products LIMIT 10 OFFSET 20;
JOIN ile TABLOLARI BİRLEŞTİRME Birden çok tablodaki verileri kullanarak birleştirir JOIN. SELECT Customers.CustomerName, Orders.OrderDate FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;
TAKIN Bir tabloya yeni kayıtlar ekler. INSERT INTO Employees (FirstName, LastName, Department) VALUES ('John', 'Doe', 'HR');
GÜNCELLEME Bir tablodaki mevcut kayıtları değiştirir. UPDATE Employees SET Salary = Salary * 1.1 WHERE Department = 'Engineering';
SİL Bir tablodaki kayıtları kaldırır. DELETE FROM Employees WHERE Department = 'Finance';
HİBE Kullanıcılara veya rollere ayrıcalıklar verir. GRANT SELECT, INSERT ON Employees TO HR_Manager;
İPTAL ET Daha önce verilen ayrıcalıkları iptal eder. REVOKE DELETE ON Customers FROM Sales_Team;
BAŞLA, KABUL ET, GERİ DÖN İşlemleri yönetir: BEGIN başlar, COMMIT değişiklikleri kalıcı olarak kaydeder ve ROLLBACK değişiklikleri geri alır ve geri alır. BEGIN; -- SQL statements COMMIT;
Bu SQL yardımcı sayfası, veritabanı yönetiminde yaygın olarak kullanılan çeşitli SQL komutları ve kavramları için hızlı bir referans sağlar.

SQL Dil Türleri ve Alt Kümeleri

SQL Dil Türlerini ve Alt Kümelerini Keşfetmek

SQL veya Yapılandırılmış Sorgu Dili, ilişkisel veritabanlarını yönetmek için kullanılan çok yönlü bir dildir. Zamanla, farklı veritabanı yönetim sistemleri (DBMS), SQL'e varyasyonlar ve uzantılar kattı ve bu da çeşitli SQL dili türleri ve alt kümelerinin ortaya çıkmasına neden oldu. Bu ayrımları anlamak, belirli veritabanı sisteminiz veya kullanım durumunuz için doğru SQL varyantını seçmenize yardımcı olabilir.

SQL Dil Türleri

1. Standart SQL (ANSI SQL)

Standart SQL, genellikle ANSI SQL'i, SQL'in temel ve en yaygın kabul gören sürümünü temsil eder. Tüm ilişkisel veritabanlarında ortak olan standart söz dizimini, veri türlerini ve temel özellikleri tanımlar. Standart SQL, bir veritabanı sistemi için yazılan SQL kodunun diğerinde kullanılabilmesini sağladığı için taşınabilirlik açısından önemlidir.

Standart SQL'in (ANSI SQL) temel özellikleri şunları içerir:

  • Yaygın SQL ifadeleri gibi SELECT, INSERT, UPDATE, ve DELETE.
  • Standart veri türleri gibi INTEGER, VARCHAR, ve DATE.
  • Aşağıdaki gibi standartlaştırılmış toplama işlevleri SUM, AVG, ve COUNT.
  • Birden fazla tablodaki verileri birleştirmek için temel JOIN işlemleri.

2. Transact-SQL (T-SQL)

Transact-SQL (T-SQL) Microsoft tarafından Microsoft SQL Server DBMS ile kullanılmak üzere geliştirilmiş bir SQL uzantısıdır. ANSI SQL standardının ötesinde ek özellikler ve yetenekler içerir. T-SQL, SQL Server ortamında uygulamalar ve saklı prosedürler geliştirmek için özellikle güçlüdür.

T-SQL'in ayırt edici özellikleri şunları içerir:

  • Gelişmiş hata yönetimi TRY...CATCH blokları.
  • Döngüler ve koşullu ifadeler gibi prosedürel programlama yapılarına yönelik destek.
  • Özel işlevler ve saklı prosedürler.
  • SQL Server'a özgü işlevler, örneğin GETDATE() ve TOP.

3. PL/SQL (Prosedür Dili/SQL)

PL / SQLOracle Corporation tarafından geliştirilen, SQL'in prosedürel bir uzantısıdır. Öncelikle Oracle Database ile kullanılır. PL/SQL, geliştiricilerin saklı prosedürler, işlevler ve tetikleyiciler yazmasına olanak tanır ve bu da onu Oracle ortamında karmaşık uygulamalar oluşturmak için güçlü bir seçim haline getirir.

PL/SQL'in temel özellikleri şunları içerir:

  • Döngüler ve koşullu ifadeler gibi prosedürel yapılar.
  • Güçlü hata yönetimi için istisna yönetimi.
  • Sonuç kümelerini işlemek için imleç desteği.
  • Veri işleme için SQL ile kusursuz entegrasyon.

SQL Alt Kümeleri

1.SQLite

SQLite hafif, sunucusuz ve bağımsız bir SQL veritabanı motorudur. Genellikle gömülü sistemlerde, mobil uygulamalarda ve masaüstü uygulamalarında kullanılır. SQLite standart SQL'i desteklerken, daha büyük DBMS'lere kıyasla bazı sınırlamaları vardır.

SQLite'ın dikkate değer özellikleri şunları içerir:

  • Sıfır konfigürasyon kurulumu; ayrı bir sunucu işlemi gerekmez.
  • Tek kullanıcı erişimi; yüksek eşzamanlılık senaryoları için uygun değildir.
  • Minimalist ve müstakil mimari.

2. MySQL

MySQL hızı ve güvenilirliği ile bilinen açık kaynaklı ilişkisel veritabanı yönetim sistemidir. MySQL standart SQL'i desteklerken aynı zamanda InnoDB ve MyISAM gibi çeşitli uzantıları ve depolama motorlarını da içerir.

MySQL özellikleri ve uzantıları şunları kapsar:

  • Saklı prosedürler, tetikleyiciler ve görünümler için destek.
  • Uzamsal ve JSON türleri de dahil olmak üzere çok çeşitli veri türleri.
  • Farklı performans ve işlem gereksinimlerine yönelik depolama motoru seçenekleri.

3. Postgre SQL

PostgreSQLGenellikle Postgres olarak anılan , gelişmiş özellikleri, genişletilebilirliği ve standartlara uygunluğuyla bilinen güçlü bir açık kaynaklı ilişkisel veritabanı sistemidir. SQL standartlarına sıkı sıkıya bağlı kalır ve SQL'i özel veri türleri, operatörler ve işlevler gibi özelliklerle genişletir.

Önemli PostgreSQL özellikleri şunları içerir:

  • Karmaşık veri türleri ve kullanıcı tanımlı türler için destek.
  • Kapsamlı indeksleme seçenekleri ve gelişmiş sorgu optimizasyonu.
  • PL/pgSQL, PL/Python ve daha fazlasını içeren zengin prosedür dilleri seti.

Doğru SQL Varyantını Seçmek

Uygun SQL varyantını veya alt kümesini seçmek, özel proje gereksinimlerinize, mevcut veritabanı sistemlerinize ve SQL türüne olan aşinalığınıza bağlıdır. İhtiyaçlarınıza en uygun SQL dili türünü veya alt kümesini seçerken uyumluluk, performans, ölçeklenebilirlik ve genişletilebilirlik gibi faktörleri göz önünde bulundurun.

Gömülü SQL'i ve Kullanımını Anlamak

Gömülü SQL, geleneksel SQL ile Java, C++ veya Python gibi üst düzey programlama dilleri arasında güçlü ve kusursuz bir entegrasyonu temsil eder. Geliştiricilerin SQL ifadelerini doğrudan uygulama kodlarına dahil etmelerine olanak tanıyan bir köprü görevi görür. Bu entegrasyon, uygulamanın içinden verimli ve kontrollü veritabanı etkileşimlerini kolaylaştırır. Gömülü SQL'e ve kullanımına daha yakından bakalım:

Gömülü SQL Nasıl Çalışır?

Gömülü SQL, SQL ifadelerini doğrudan ana bilgisayar programlama dilinin koduna yerleştirerek çalışır. Bu SQL ifadeleri genellikle onları çevreleyen koddan ayırmak için özel işaretleyiciler veya sınırlayıcılar içine alınır. Uygulama kodu derlendiğinde veya yorumlandığında, gömülü SQL ifadeleri veritabanı yönetim sistemi (DBMS) tarafından çıkarılır, işlenir ve yürütülür.

Gömülü SQL'in Faydaları

  1. Eksiksiz bütünleşme: Gömülü SQL, veritabanı işlemlerini uygulama koduna sorunsuz bir şekilde entegre ederek geliştiricilerin tek bir ortamda çalışmasına olanak tanır.
  2. performans Optimizasyonu: Geliştiriciler, SQL ifadelerini katıştırarak DBMS'ye özgü özelliklerden ve sorgu optimizasyonu yeteneklerinden yararlanarak sorgu performansını optimize edebilir.
  3. Veri tutarlılığı: Gömülü SQL, veritabanı işlemlerini doğrudan uygulama mantığı içinde yürüterek veri tutarlılığını sağlar ve daha iyi hata yönetimi ve kurtarmaya olanak tanır.
  4. Güvenlik: Gömülü SQL, geliştiricilerin veritabanı erişimini ve güvenliğini kontrol etmesine olanak tanıyarak yalnızca yetkili eylemlerin gerçekleştirilmesini sağlar.
  5. Azaltılmış Ağ Ek Yükü: SQL ifadeleri uygulamayla aynı süreç içerisinde yürütüldüğünden, uzak SQL çağrıları ile karşılaştırıldığında genellikle daha az ağ yükü söz konusudur.

Kullanım Senaryoları

Gömülü SQL, özellikle uygulama kodu ve veritabanı etkileşimlerinin yakından iç içe geçtiği senaryolarda kullanışlıdır. Yaygın kullanım durumları şunlardır:

  1. Web uygulamaları: Gömülü SQL, web uygulamalarına yönelik veritabanı işlemlerini yürütmek için kullanılır ve geliştiricilerin verileri verimli bir şekilde almasına, değiştirmesine ve depolamasına olanak tanır.
  2. Kurumsal yazılım: Kurumsal yazılım uygulamaları, karmaşık veri işlemlerini ve raporlamayı yönetmek için sıklıkla gömülü SQL kullanır.
  3. Gerçek Zamanlı Sistemler: Finansal ticaret platformları gibi gerçek zamanlı veri işleme gerektiren sistemler, yüksek hızlı veri alımı ve analizi için gömülü SQL kullanır.
  4. Gömülü Sistemler: Gömülü sistem geliştirmede, sınırlı kaynaklara sahip cihazlarda veri depolamayı ve almayı yönetmek için SQL ifadeleri gömülür.

Dikkat Edilmesi Gerekenler ve En İyi Uygulamalar

Gömülü SQL kullanırken aşağıdaki en iyi uygulamaları dikkate almak önemlidir:

  • SQL Injection: Gömülü SQL ifadeleri, doğru şekilde işlenmezse bu tür saldırılara karşı savunmasız olabileceğinden, SQL enjeksiyon saldırılarını önlemek için uygun giriş doğrulama ve parametreleştirme uygulayın.
  • DBMS Uyumluluğu: Farklı veritabanı sistemleri ayarlamalar gerektirebileceğinden, SQL'i eklerken DBMS'ye özgü özelliklerin ve sözdizimi varyasyonlarının farkında olun.
  • Hata işleme: Veritabanıyla ilgili istisnaları sorunsuz bir şekilde ele almak için güçlü hata işleme uygulayın.
  • performans Optimizasyonu: Verimli sorgu yürütmeyi sağlamak için DBMS tarafından sağlanan performans optimizasyonu özelliklerinden yararlanın.

Gömülü SQL, uygulama kodu ile veritabanı işlemleri arasındaki boşluğu doldurarak geliştiricilerin ilişkisel veritabanlarıyla sorunsuz bir şekilde etkileşime giren sağlam ve verimli uygulamalar oluşturmasına olanak tanır. Akıllı bir şekilde ve güvenlik ile performansın uygun şekilde dikkate alınmasıyla kullanıldığında, gömülü SQL, veritabanı odaklı uygulama geliştirmede değerli bir varlık olabilir.

SQL Örnekleri ve Uygulama

Alıştırma İçin Daha Fazla SQL Sorgu Örneği

SQL'i gerçek dünyadan örneklerle uygulamak, dile hakim olmak ve veritabanı yönetiminde uzmanlaşmak için çok önemlidir. Bu bölümde, SQL becerilerinizi güçlendirmenize yardımcı olacak SQL örneklerine ve pratik alıştırmalara kapsamlı bir genel bakış sunuyoruz.

SQL Pratiğinin Önemi

SQL, ilişkisel veritabanlarındaki verileri sorgulamak ve değiştirmek için kullanılan çok yönlü bir dildir. İster bir veritabanı yöneticisi, geliştirici, veri analisti veya istekli bir SQL uzmanı olun, düzenli pratik yapmak uzmanlaşmanın anahtarıdır. İşte SQL pratiğinin gerekli olmasının nedeni:

  1. Beceri Geliştirme: Alıştırma, SQL sözdiziminde uzmanlaşmanıza ve bunu gerçek dünya senaryolarına nasıl uygulayacağınızı öğrenmenize yardımcı olur.
  2. Problem çözme: SQL pratik alıştırmaları sizi pratik problemleri çözmeye zorlayarak problem çözme becerilerinizi geliştirir.
  3. verim: SQL uzmanlığı, daha verimli çalışmanıza, veri alma ve işlemede zamandan ve emekten tasarruf etmenize olanak tanır.
  4. Kariyer gelişimi: SQL yeterliliği iş piyasasında değerli bir beceridir ve pratik yapmak kariyerinizi ilerletmenize yardımcı olabilir.

SQL Uygulama Örnekleri

1. Temel SELECT Sorguları

Temel yazma alıştırması yapın SELECT Veritabanından veri almak için sorgular. Tek bir tablodan belirli sütunları getirmek için basit sorgularla başlayın. Ardından, birden çok tablo ve filtreleme ölçütü içeren daha karmaşık sorgulara ilerleyin.

-- Example 1: Retrieve all columns from the "Employees" table.SELECT * FROM Employees; 
-- Example 2: Retrieve the names of employees with a salary greater than $50,000. SELECT FirstName, LastName FROM Employees WHERE Salary > 50000; 
-- Example 3: Join two tables to retrieve customer names and their associated orders. SELECT Customers.CustomerName, Orders.OrderDate FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

2. Veri Değişikliği Sorguları

Yazma alıştırması yapın INSERT, UPDATE, ve DELETE Veritabanındaki verileri işlemek için ifadeler. Bu sorguların veri bütünlüğü üzerindeki etkilerini anladığınızdan emin olun.

-- Example 1: Insert a new record into the "Products" table. INSERT INTO Products (ProductName, UnitPrice) VALUES ('New Product', 25.99);
 -- Example 2: Update the quantity of a product in the "Inventory" table. UPDATE Inventory SET QuantityInStock = QuantityInStock - 10 WHERE ProductID = 101; 
-- Example 3: Delete records of inactive users from the "Users" table. DELETE FROM Users WHERE IsActive = 0;

3. Toplama ve Gruplandırma

Aşağıdaki gibi toplama işlevlerini kullanma alıştırması yapın: SUM, AVG, COUNT, ve GROUP BY veri kümeleri üzerinde hesaplamalar yapmak ve özet istatistikler oluşturmak için.

-- Example 1: Calculate the total sales for each product category. SELECT Category, SUM(UnitPrice * Quantity) AS TotalSales FROM Products INNER JOIN OrderDetails ON Products.ProductID = OrderDetails.ProductID GROUP BY Category; 
-- Example 2: Find the average age of employees by department. SELECT Department, AVG(Age) AS AverageAge FROM Employees GROUP BY Department;

4. Alt Sorgular ve Birleşimler

İçinde alt sorguları kullanma alıştırması yapın SELECT, INSERT, UPDATE, ve DELETE ifadeler. İlgili bilgileri almak için tabloları birleştirme sanatında ustalaşın.

-- Example 1: Find employees with salaries greater than the average salary. SELECT FirstName, LastName, Salary FROM Employees WHERE Salary > (SELECT AVG(Salary) FROM Employees); -- Example 2: Update customer records with their latest order date. UPDATE Customers SET LastOrderDate = (SELECT MAX(OrderDate) FROM Orders WHERE Customers.CustomerID = Orders.CustomerID);

Çevrimiçi SQL Alıştırma Kaynakları

SQL becerilerinizi daha da geliştirmek için çevrimiçi SQL uygulama platformlarından ve eğitimlerinden yararlanmayı düşünün. Bu platformlar çok çeşitli etkileşimli alıştırmalar ve zorluklar sunar:

  1. SQL Hayvanat Bahçesi: Çeşitli veritabanı sistemleri için SQL sorguları uygulamak için etkileşimli SQL eğitimleri ve sınavlar sunar.
  2. LeetKodu: SQL becerilerinizi test etmek ve geliştirmek için SQL zorlukları ve yarışmaları sağlar.
  3. HackerRank: Çok çeşitli SQL sorunları ve zorlukları içeren bir SQL alanı sunar.
  4. Codecademy: Yeni başlayanlar ve orta düzey kullanıcılar için uygulamalı alıştırmalar içeren etkileşimli bir SQL kursu içerir.
  5. SQLFiddle: Çevrimiçi SQL sorguları uygulamak için web tabanlı bir SQL ortamı sağlar.
  6. Kaggle: Veri analizi ve keşfi için SQL çekirdekleri ve veri kümeleri sunar.

Düzenli SQL pratiği, dile hakim olmanın ve ilişkisel veritabanlarıyla çalışma konusunda yetkin olmanın anahtarıdır. Gerçek dünyadaki SQL problemlerini çözerek, SQL becerilerinize olan güveninizi geliştirebilir ve bunları profesyonel çalışmalarınızda etkili bir şekilde uygulayabilirsiniz. Veri yönetimi dünyasında üstünlük sağlamak için SQL pratik alıştırmalarına dalın, çevrimiçi kaynakları keşfedin ve SQL becerilerinizi geliştirin.

Sonuç

Sonuç olarak, SQL komutları etkili veritabanı yönetiminin temelidir. İster veritabanı yapılarını tanımlıyor, ister verileri yönetiyor, erişimi kontrol ediyor veya işlemleri yönetiyor olun, SQL ihtiyacınız olan araçları sağlar. Bu kapsamlı kılavuzla SQL komutları, bunların kategorileri, söz dizimi ve pratik örnekleri hakkında derinlemesine bilgi sahibi oldunuz.

Sözlük

  • SQL: Yapılandırılmış Sorgu Dili, ilişkisel veritabanlarını yönetmek için alana özgü bir dil.
  • DDL: Veri Tanımlama Dili, veritabanı yapılarını tanımlamak ve yönetmek için SQL'in bir alt kümesidir.
  • DML: Veri İşleme Dili, verileri almak, eklemek, güncellemek ve silmek için kullanılan bir SQL alt kümesidir.
  • DCL: Veri Kontrol Dili, veritabanı güvenliğini ve erişim kontrolünü yönetmek için SQL'in bir alt kümesidir.
  • TCL: İşlem Kontrol Dili, veritabanı işlemlerini yönetmek için SQL'in bir alt kümesidir.
  • DQL: Veri Sorgulama Dili, yalnızca veritabanından veri almaya ve sorgulamaya odaklanan SQL'in bir alt kümesidir.

Referanslar

Belirli SQL konularını daha fazla okumak ve derinlemesine incelemek için lütfen aşağıdaki referanslara bakın:

spot_img

En Son İstihbarat

spot_img