DML, DDL ve SQL

Sorgu yapmak için birşeyler seçmek gerekir, SQL‘de bu işi SELECT komutu yapmaktadır. Fakat yapmak istedikleriniz her zaman sadece bir sorgudan ibaret olmayabilir. Bazı Data Manupulation Language (DML) ve Data Defination Language (DDL) komutlarını kullanarak, yeni bir veritabanı oluşturabilir, tablonuza yeni bir sütun ekleyebilir, kayıtlarınızı güncelleyebilir veya silebilirsiniz. Bunları yaparken de görsel olarak hiçbir editör kullanmanız gerekmez.

Esasen, görsel bir edidör sunan VTYS’ler de arkaplanda bir kod çalıştırırlar. Bu yüzden VTYS kurslarında veya üniversitelerde verilen Veri Tabanı derslerinde herhangi birşeyin kodla nasıl yapılacağı da anlatılır.

DML, DDL ve SQL aslında 3 farklı birer dildir. Fakat daha önce de bahsetmiş olduğum gibi DDL ve DML’nin fazla komutu olmamasından dolayı kitaplarda SQL’in içinde anlatılmaktadır. Bu ufak bir not olarak kalsın.

O zaman yavaş yavaş komutları tanımlamaya ve örneklerini yazmaya başlayalım. Tabii önce işimize yarayabilecek bir tablo oluşturalım, adını da “Filmler” yapalım ;

Film_No Ad Tarih IMDB_Puan
1 The Shawshank Redemption 1994 9,2
2 The Dark Knight 2008 8,8
3 Fight Club 1999 8,8
4 Forrest Gump 1994 8,6
5 Leon 1994 8,6
6 V For Vandetta 2006 8,1
7 A Beautiful Mind 2006 8,0
8 Eternal Sunshine of the Spotless Mind 2004 8,4
9 Inception 2010 8,8
10 Good Will Hunting 1997 8,1

INSERT

INSERT komutu, bir tabloya veri eklemek için kullanılır. Kullanımı şu şekildedir ;

INSERT INTO tablo_adi
VALUES (deger1, deger2, deger3, ...)

Bu kullanım, bir satırdaki tüm sütunlara sırasıyla değer girebilmeyi sağlar.

INSERT INTO tablo_adi (sutun_1, sutun_2)
VALUES (deger1, deger2)

Bu kullanım ise, bir satırdaki istenilen sütunlara değer girebilmeyi sağlar.

Tablomuza bir adet film ekleyelim, değerleri de aşağıdaki gibi olsun.

Film_No : 11
Ad : The Usual Suspects
Tarih : 1995
IMDB_Puan : 8,7

Şu şekilde ekleyebiliriz ;

INSERT INTO Filmler
VALUES (11, "The Usual Suspects", 1995, 8.7)

Bir de değerleri şu şekilde olan bir film ekleyelim ;

Film_No : 12
Ad : Star Wars
IMDB_Puan : 8,7

Dikkat ettiyseniz filmin tarihini yazmadım.

INSERT INTO Filmler (Film_No, Ad, IMDB_Puan)
VALUES (12, "Star Wars", 8.7)

Yukarıdaki kodları SQL ekranında çalıştırırsanız tablonuza yeni kayıtlar eklenecektir.

UPDATE

Tablonuzdaki herhangi bir veriyi ya da verileri güncellemek için UPDATE komutunu kullanabilirsiniz. Bu komutu kullanırken hangi satırı güncelleyeceğimizi belirtmek için WHERE komutunu kullanacağız.

Az önce “Star Wars” adlı filme tarih girmemiştik, şimdi UPDATE komutu ile onun tarihini 1977 yapalım ;

UPDATE Filmler
SET Tarih = 1977
WHERE Ad = "Star Wars"

UPDATE komutunu kullanırken eğer WHERE ile kriter belirtmezseniz tablodaki tüm kayıtları güncelleştirmiş olursunuz, bu yüzden dikkat edilmesi gereken bir komuttur.

DELETE

Tablodan veri silmek için kullanılır. Yine kriter belirtmek isterseniz WHERE komutunu kullanmanız gerekecek.

Filmler tablosundan adı “Star Wars” olan filmi silelim, yani o filmin diğer sütunlardaki değerlerini de silmiş olacağız ;

DELETE FROM Filmler
WHERE Ad = "Star Wars"

Şimdi de Filmler tablosunun içini tamemen boşaltalım ;

DELETE FROM Filmler

ya da

DELETE * FROM Filmler

CREATE DATABASE

Adından anlaşıldığı gibi yeni bir veri tabanı oluşturmak için kullanılır.

“Yedek” adında yeni bir veritabanı oluşturalım ;

CREATE DATABASE Yedek

MS Access’de çalışırken yeni bir veritabanı oluşturamazsınız çünkü Accessde aynı anda tek bir veri tabanı üzerinde çalışmanız mümkündür, not olarak ekliyim.

CREATE TABLE

Varolan veritabanına yeni bir tablo oluşturmak için kullanılır.

Yonetmenler adında bir veritabanı oluşturalım ve Yonetmen_ID, Ad, Soyad diye üç sütundan oluşsun ;

CREATE TABLE Yonetmenler (
   Yonetmen_ID int,
   Ad varchar(255),
   Soyad varchar(255)
)

Sütun isimlerinin yanındaki int ve varchar değerleri sütunun data tipini belirlemektedir. Tüm data tiplerine buradan ulaşabilirsiniz.

SELECT INTO

Tablonun bir yedeğini almak için kullanılır. SELECT ile neyin yedeğinin alınacağı seçilir ve INTO ile yeni tablonun ismi verilir.

Yedek alma işlemini tüm tablo için uygulayabilirsiniz ya da WHERE ile kriter belirterek istenilen kayıtlardan oluşan bir yedek alabilirsiniz. Ayrıca oluşturduğunuz tablonun yedeğini, sizin gösterdiğiniz bir veritabanına da kaydedebilirsiniz.

Filmler tablosunun yedeğini alalım ve yedek tablonun ismini Film_Yedek yapalım ;

SELECT *
INTO Filmler_Yedek
FROM Filmler

1994 yılında çıkmış filmlerin Ad ve IMDB_Puan değerlerinin yedeğini alalım ;

SELECT Ad, IMDB_Puan
INTO Filmler_Yedek
FROM Filmler
WHERE Tarih = 1994

IMDB Puanı 8.5’den büyük olan filmleri, daha önceden var olan Film_Backup veritabanına tablo olarak kaydedelim.

SELECT *
INTO Film_Yedek "IN Film_Backup"
FROM Filmler
WHERE IMDB_Puan > 8.5

DROP

Veritabanlarını, tabloları, viewları veya indexleri (başka bi yazımda ne olduklarını açıklamaya çalışacağım) kolayca silmenizi sağlar.

DELETE ve DROP temel olarak silme işlemi için kullanılırlar fakat, DELETE bir tablodaki verileri silerken yani tabloyu boşaltmaya yararken, DROP tabloyu tamemen siler, yokeder.

DROP TABLE tablo_adi
DROP DATABASE veritabani_adi

ALTER

ALTER komutu ile bir tablonun sütunları üzerinde değişik işlemler yapabilirsiniz. Tabloya bir sütun ekleyebilir, tablodan bir sütun silebilir, ya da bir sütun üzerinde değişiklik yapabilirsiniz.

Filmler tablosunda filmin türünü belirten bir sütun eksik. Bunu SQL ekranından kodla ekleyelim ;

ALTER TABLE Filmler
ADD Film_Tur varchar(255)

Hoşunuza gitmediyse bu sütunu silelim ;

ALTER TABLE Filmler
DROP COLUMN Film_Tur

Tablodaki “Ad” adlı sütunun data tipini değiştirelim ve varchar(40) yapalım ;

ALTER TABLE Filmler
ALTER COLUMN Ad varchar(40)

Sonuç olarak ALTER TABLE komutunu ile belirtilen tabloyu açabiliyor ve üzerinde çeşitli işlemler yapabiliyoruz.

Sonuç — Özet

DDL ve DML komutları ile bir veri tabanı üzerinde çeşitli silme, ekmele, değiştirme gibi işlemler yapabilirsiniz.

CREATE komutlarıyla yeni bir veritabanı ya da tablo oluşturabilir, INSERT ile tabloya yeni bir kayıt girebilir, UPDATE ile kayıtları güncelleyebilir ve DELETE ile tablodan veri silebilirsiniz.

SELECT INTO ile tablonuzun yedeğini alabilirsiniz.

ALTER ile bir tabloyu açıp sütunlar üzerinde silme, ekleme ve değiştirme işlemlerini yapabilirsiniz.

Son olarak da DROP ile de bir tabloyu, veritabanını ya da indexi tamamen kolayca silebilirsiniz.

Benzer Yazılar

Yorumlar

Yorum Yazın

Su elementleri kullanabilirsiniz : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Arama
RSS
Beni yukari isinla