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.

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)

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.
