SQL DML, DDL ve DCL Komutları

SQL DML (Data Manipulation Language) Veri İşleme Dili 

Veri girmek, değiştirmek, silmek ve verileri almak için kullanılan DML komutlarının tümü olarak tanımlanır. Kısaca veritabanında bilgi üzerinde çalışmayı sağlar. Bilgiyi çağırma, bilgiye yeni bir şeyler ekleme, bilgiden bir şeyler silme, bilgiyi güncelleştirme işlemlerini yapar. 

Temel dört komutu vardır:
  • SELECT : Veritabanındaki nesneden alan çağırmayı ve gereken bilgiyi görebilmeyi sağlar.
  • UPDATE : Nesnede bilgi güncellemeyi sağlar.
  • INSERT : Nesneye alan eklemeyi sağlar.
  • DELETE : Nesneden alan silmeyi sağlar.
SQL DDL (Data Definition Language) Veri Tanımlama Dili

Verilerin tutulduğu nesneler olan tabloların yaratılmasını, silinmesini ve bazı temel özelliklerinin düzenlenmesini sağlar. 

En yaygın kullanılan DDL komutları şunlardır: 
  • CREATE TABLE : Veritabanı üzerinde bir tablo yaratmak için kullanılır.
  • ALTER TABLE : Tabloda değişiklik yapmak, yeni bir sütun eklemek, sütunun tipini veya uzunluğunu değiştirmek gibi yapısal değişiklikler yapılması için kullanılır.
  • DROP TABLE :  Tabloyu fiziksel olarak siler. (verilerle birlikte)
  • TRUNCATE TABLE : Tablodaki verileri siler fakat tablo yapısı kalır.
  • CREATE INDEX : Index oluşturmak için, tablonun sütun adı üzerinde indeks oluşturur.
  • CREATE VIEW : Görüntü oluşturmak için kullanılır.
  • DROP VIEW : Görüntüyü siler.

SQL DCL (Data Control Language) Veri Kontrol Dili 

Veri Kontrol Dili bir veritabanı kullanıcısı veya rolü ile ilgili izinlerin düzenlenmesini sağlar. DCL komutlarını kullanabilmek için SQL Server'da varsayılan değer (default) olarak yetki sahibi olan gruplar: sysadmin , dbcreator , db_owner , db_securityadmin 'dir. Sunucuya dışarıdan bir erişim sağlamak için bir giriş (login) oluşturulmalıdır.

Temel DCL komutları şunlardır:
  • GRANT  : Veritabanı kullanıcısına, veri tabanı rolüne veya uygulama rolüne izinler vermek için kullanılan komuttur.
  • DENY : Kullanıcıların haklarını kısıtlayan komuttur.
  • REVOKE : Daha önce yapılan tüm kısıtlama ve izinleri iptal eden komuttur. Bir nesneyi oluşturan kullanıcının REVOKE ile nesne üzerindeki yetkilendirme ve kullanma hakkı yok edilemez. REVOKE komutunu, sys_admin rolüne veya db_owner, db_securityadmin sabit veri tabanı rollerine sahip kullanıcılar ve nesne için dbo olan kullanıcı çalıştırabilir.