SQL Komutları: DQL, DDL, DML, DCL ve TCL (Örneklerle)

⚡ Akıllı Özet

SQL komutları, ilişkisel bir veritabanını yöneten beş alt dile ayrılmıştır. DDL yapıyı tanımlar, DML verileri değiştirir, DCL erişimi kontrol eder, TCL işlemleri yönetir ve DQL veri alır; her birinin kendine özgü ifade ve sözdizimi vardır.

  • 🏗️ DDL: CREATE, DROP, ALTER ve TRUNCATE komutları, tabloların ve veritabanlarının şemasını tanımlar ve değiştirir.
  • ✏️ DML: INSERT, UPDATE ve DELETE komutları, bir tabloda bulunan satırları değiştirir.
  • 🔑 DCL: GRANT ve REVOKE komutları, veritabanı nesneleri üzerinde erişim ayrıcalıkları verir ve kaldırır.
  • 🔄 TCL: COMMIT, ROLLBACK ve SAVEPOINT komutları, işlemlerin nasıl kaydedileceğini veya geri alınacağını kontrol eder.
  • 🔍 DQL: SELECT sorgusu, WHERE koşuluna göre filtrelenmiş satırları getirir.
  • 🗄️ Standart Dil: Başlıca tüm RDBMS'ler, MySQL için Oracle SQL Server ise SQL kullanır.
  • ⚠️ Temel Zıtlık: TRUNCATE ve DELETE komutlarının her ikisi de satırları temizler, ancak TRUNCATE bir DDL komutudur ve satır satır işlem yapmaz.

SQL Komutları DQL DDL DML DCL TCL

SQL nedir?

SQL ilişkisel bir veritabanındaki verilerin alınması ve yönetimi için tasarlanmış bir veritabanı dilidir.

SQL, veritabanı yönetimi için standart dildir. Tüm RDBMS sistemleri gibi MySQL, MS Erişimi, OracleSybase, Postgres ve SQL Server, standart veritabanı dili olarak SQL'i kullanır. SQL programlama dili, farklı işlemler için çeşitli komutlar kullanır. Bu yazıda, SQL'deki DCL, TCL, DQL, DDL ve DML komutlarını örneklerle birlikte öğreneceğiz.

Neden SQL Kullanılmalı?

İşte SQL kullanmanın önemli nedenleri:

  • Kullanıcıların verilere erişmesine yardımcı olur. RDBMS sistemi.
  • Verileri tanımlamanıza yardımcı olur.
  • Bir veritabanındaki verileri tanımlamanıza ve bu belirli verileri değiştirmenize olanak tanır.
  • SQL komutları yardımıyla veritabanları ve tablolar oluşturabilir ve silebilirsiniz.
  • SQL, veritabanında fonksiyonları kullanmanıza, görünümler ve saklı prosedürler oluşturmanıza olanak tanır.
  • Tablolara, prosedürlere ve görünümlere ilişkin izinleri ayarlayabilirsiniz.

SQL'in Kısa Tarihi

İşte o döneme ait önemli yer işaretleri. SQL'in geçmişi:

  • 1970 – Dr. Edgar F. “Ted” Codd, veritabanları için ilişkisel bir model tanımladı.
  • 1974 – Yapılandırılmış Sorgu Dili (SQL) ortaya çıktı, ilk adı SEQUEL idi. IBM.
  • 1979 - Oracle SQL tabanlı ilk ticari olarak kullanılabilir veritabanını yayınladı. IBM'ın System R araştırma prototipi.
  • 1986 – ANSI, ilk SQL standardı olan SQL-86'yı yayınladı.
  • 1989 – SQL-89, standardın ilk revizyonu olarak yayınlandı.
  • 1992 – SQL-92 (SQL2), günümüzde çoğu veritabanı tarafından hala referans alınan temel sürüm haline geldi.
  • 1999 – SQL:1999 (SQL3), tetikleyiciler, özyinelemeli sorgular ve nesne yönelimli programlama gibi özelliklerle piyasaya sürüldü.
  • 2003 – SQL:2003, pencere fonksiyonları, sıralı üreteçler ve XML ile ilgili özellikler ekledi.
  • 2006 – SQL:2006, XML Sorgu Dili (XQuery) desteğini ekledi.
  • 2008 – SQL:2008, TRUNCATE ifadesini ve INSTEAD OF tetikleyicilerini tanıttı.
  • 2011 – SQL:2011, zamansal veritabanları için desteği geliştirdi.
  • 2016 – SQL:2016, JSON desteği ve satır kalıbı eşleştirme (MATCH_RECOGNIZE) özelliğini ekledi.
  • 2019 – SQL/MDA (Bölüm 15), standarda çok boyutlu dizi desteğini ekledi.
  • 2023 – SQL:2023, yerel bir JSON veri türü ve özellik grafiği sorguları (SQL/PGQ) ekledi.
  • 2024 – SQL'den bu yana ISO tarafından geliştirilen ilk yeni veritabanı dili olan GQL, grafik sorgu yardımcı standardı olarak yayınlandı.
  • 2026 – SQL:2023 mevcut standart olmaya devam ediyor ve bir sonraki revizyon ISO/IEC'de geliştirilme aşamasında.

SQL Komut Türleri

İşte yaygın olarak kullanılan beş SQL komut türü:

  • Veri Tanımlama Dili (DDL)
  • Veri İşleme Dili (DML)
  • Veri Kontrolü Dil (DCL)
  • İşlem Kontrol Dili (TCL)
  • Veri Sorgulama Dili (DQL)
SQL komut türleri
SQL türleri

Aşağıdaki tabloda, her bir kategori ayrıntılı olarak ele alınmadan önce beş kategori özetlenmiştir.

Kategoriler Amaç Ana komutlar
DDL Yapıyı tanımlayın OLUŞTUR, SİL, DEĞİŞTİR, KISALT
DML Verileri değiştir EKLE, GÜNCELLE, SİL
DCL Erişimi kontrol et HİBE, İPTAL
TCL İşlemleri yönet ONAYLA, GERİ AL, KAYDET
DQL Verileri al SEÇİN

DDL nedir?

Veri Tanımlama Dili (DDL), veritabanı yapısını veya şemasını tanımlamanıza yardımcı olur. Gelin, DDL komutlarını ve sözdizimini öğrenelim. SQL'deki başlıca DDL komutları CREATE, DROP, ALTER ve TRUNCATE'tir.

CREATE

CREATE ifadesi, veritabanı yapısını veya şemasını tanımlamak için kullanılır:

Sözdizimi:

CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);

Örneğin:

Create database university;
Create table students;
Create view for_students;

DAMLA

DROP komutu, RDBMS'den tabloları ve veritabanlarını siler.

Sözdizimi:

DROP TABLE ;

Örneğin:

Drop object_type object_name;
Drop database university;
Drop table student;

alter

ALTER komutu, veritabanının yapısını değiştirmenize olanak tanır.

Sözdizimi: Tabloya yeni bir sütun eklemek için:

ALTER TABLE table_name ADD column_name COLUMN-definition;

Tablodaki mevcut bir sütunu değiştirmek için:

ALTER TABLE MODIFY(COLUMN DEFINITION....);

Örneğin:

Alter table guru99 add subject varchar;

KIRMIZI

Bu komut tablodaki tüm satırları silmek ve tablonun bulunduğu alanı boşaltmak için kullanılır.

Sözdizimi:

TRUNCATE TABLE table_name;

Örnek:

TRUNCATE table students;

Veri İşleme Dili Nedir?

Veri İşleme Dili (DML), veritabanı örneğine veri ekleyerek, değiştirerek ve silerek veritabanını düzenlemenizi sağlar. Veritabanındaki her türlü veri değişikliğinden sorumludur. SQL'deki önemli DML komutları şunlardır:

  • INSERT
  • GÜNCELLEME
  • SİL

INSERT

Bu ifade, bir tablonun satırlarına veri eklemek için kullanılır.

Sözdizimi:

INSERT INTO TABLE_NAME (col1, col2, col3,.... col N)
VALUES (value1, value2, value3, .... valueN);
Or
INSERT INTO TABLE_NAME
VALUES (value1, value2, value3, .... valueN);

Örneğin:

INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', Erichsen');

GÜNCELLEME

Bu komut, tablodaki bir sütunun değerini güncellemek veya değiştirmek için kullanılır.

Sözdizimi:

UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]

Örneğin:

UPDATE students
SET FirstName = 'Jhon', LastName= 'Wick'
WHERE StudID = 3;

SİL

Bu komut bir tablodan bir veya daha fazla satırı kaldırmak için kullanılır.

Sözdizimi:

DELETE FROM table_name [WHERE condition];

Örneğin:

DELETE FROM students
WHERE FirstName = 'Jhon';

DCL nedir?

DCL (Veri Kontrol Dili), hak ve izin verme konusunda faydalı olan GRANT ve REVOKE gibi komutları içerir. Diğer komutlar ise veritabanı sisteminin parametrelerini kontrol eder.

Hibe

Bu komut, bir kullanıcıya veritabanına erişim ayrıcalıkları vermek için kullanılır.

Sözdizimi:

GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;

Örneğin:

GRANT SELECT ON Users TO'Tom'@'localhost;

Revtamam

Bu komut, kullanıcıdan yetkileri geri almak için kullanışlıdır.

Sözdizimi:

REVOKE privilege_nameON object_nameFROM {user_name |PUBLIC |role_name}

Örneğin:

REVOKE SELECT, UPDATE ON student FROM BCA, MCA;

TCL nedir?

İşlem Kontrol Dili veya TCL komutları, veritabanındaki işlemleri yönetir. Doğrudan aşağıdaki açıklamalarda belirtilen durumlarla çalışırlar. işlem yönetimi.

Işlemek

Bu komut tüm işlemleri veritabanına kaydetmek için kullanılır.

Sözdizimi:

Commit;

Örneğin:

DELETE FROM Students
WHERE RollNo =25;
COMMIT;

Rollback

Geri alma komutu, veritabanına henüz kaydedilmemiş işlemleri geri almanıza olanak tanır.

Sözdizimi:

ROLLBACK;

Örnek:

DELETE FROM Students
WHERE RollNo =25;

KAYDETME NOKTASI

Bu komut, bir işlem içinde bir kayıt noktası belirlemenize yardımcı olur.

Sözdizimi:

SAVEPOINT SAVEPOINT_NAME;

Örnek:

SAVEPOINT RollNo;

DQL nedir?

Veri Sorgulama Dili (DQL), veritabanından veri çekmek için kullanılır. Sadece tek bir komut kullanır: SELECT.

SEÇİN

Bu komut, WHERE yan tümcesinde belirtilen koşula göre öznitelikleri seçmenize yardımcı olur.

Sözdizimi:

SELECT expressions
FROM TABLES
WHERE conditions;

Örneğin:

SELECT FirstName
FROM Student
WHERE RollNo > 15;

DELETE, TRUNCATE ve DROP karşılaştırması

Bu üç komutun hepsi veri siler, ancak sildikleri veriler ve işlemin geri alınabilir olup olmadığı bakımından farklılık gösterirler. Bunları karıştırmak, yeni başlayanların sık yaptığı bir hatadır.

Görünüş SİL KIRMIZI DAMLA
Kategoriler DML DDL DDL
Kaldırır Seçilen satırlar Tüm satırlar Masanın tamamı
WHERE yan tümcesi İzin verildi İzin yok Uygulanamaz
Rollback Mümkün Genellikle değil Mümkün değil
Yapı korundu Evet Evet Yok hayır

Özetle, belirli satırları silmek için DELETE, tabloyu hızlıca boşaltmak için TRUNCATE ve tabloyu tamamen silmek için DROP komutunu kullanın.

SSS

DELETE, seçili satırları silen ve geri alınabilen bir DML komutudur. TRUNCATE ise tüm satırları aynı anda silen, daha hızlı olan ve genellikle geri alınamayan bir DDL komutudur.

Bunlar Veri Kontrol Dili (DCL)'ne aittir. GRANT komutu bir kullanıcıya veritabanı nesnesi üzerinde ayrıcalıklar verir ve REVOKE komutu bu ayrıcalıkları geri alır; bu ikisi birlikte erişimi ve güvenliği kontrol eder.

Evet. Metinden SQL'e dönüştürme modelleri, doğal dil isteğini bilinen bir şemaya karşı SELECT veya başka bir ifadeye dönüştürür. Üretim verilerinde çalıştırmadan önce oluşturulan sorguyu daima gözden geçirin.

Evet. Yapay zeka, işlem planını okuyarak maliyeti düşürecek bir indeks, yeniden yazılmış bir birleştirme veya bir WHERE değişikliği önerebilir. En hızlı plan verilere bağlı olduğundan, önerinin test edilmesi gerekir.

DDL, tablolar ve sütunlar gibi veritabanının yapısını tanımlar veya değiştirir. DML ise INSERT, UPDATE ve DELETE işlemleriyle bu yapının içindeki verileri değiştirir. Yapı ve içerik arasındaki temel fark budur.

Bu yazıyı şu şekilde özetleyin: