24 Ağustos 2014 Pazar

SQL'de UNIQUE Kullanımı

  • SQL'de oluşturmuş olduğumuz tablolar içinde yer alan her bir kolonda eşsiz şekilde, yani benzersiz birbirinden farklı veriler bulunmasını isteyebiliriz.
  • Bunun için bu tür alanlar tanımlanırken Unique Key Contsraint tanımı yapılır.
  • Unique Key Contsraint tanımının Primary Key den farkı Unique Key'in bir tabloda birden fazla olmasıdır,  Primary Key ise tabloda sadece 1 adet olabilir. NULL veriler de içerebilir. 
  • Ayrıca tablolarımızı oluştururken UNIQUE kısıtlaması yapabildiğimiz gibi, daha sonradan var olan tablolar üzerinde de UNIQUE kısıtlaması yapabiliriz.  
  • Bir tabloda birden çok UNIQUE sınırlaması getirilebilinir fakat sadece bir tane PRIMARY KEY sınırlaması getirilebilinir.
NOT: Primary Key alanı tanımlandığında otomatik olarak UNIQUE olarak oluşur. 

Yeni bir tablo oluşturulmasında Unique Key Contsraint Kullanımı:
CREATE TABLE Yazarlar
(
No int NOT NULL UNIQUE,
Soyad varchar(255) NOT NULL,
Ad varchar(255),
Yayinevi varchar(255)
)

Yeni bir tablo oluşturulmasında birden fazla alanda Unique Key Contsraint Kullanımı:
CREATE TABLE Yazarlar
(
id int NOT NULL,
adi_soyadi varchar(20) NOT NULL ,
Yayinevi varchar(20),
CONSTRAINT id_no UNIQUE (id,adi_soyadi)
) 

Var olan tabloda sonradan ekleme yaparken Unique ve ALTER Kullanımı:
ALTER TABLE Yazarlar
ADD UNIQUE (No) 

Birden fazla alanda ekleme yaparken Unique ve ALTER Kullanımı:
ALTER TABLE Yazarlar
ADD CONSTRAINT  id_no UNIQUE (id,adi_soyadi)

UNIQUE alanı normale çevirmek istersek DROP ifadesini kullanmamız gerekir:
ALTER TABLE Yazarlar
DROP  CONSTRAINT id_no

Birden fazla alanda UNIQUE işlemi yaptıysak, CONSTRAINT ifadesinden sonra tablomuzdaki alan adı değil, oluşturduğumuz index adı yazılmalıdır. Eğer tek bir alanda oluşturduysak CONSTRAINT  ifadesinden sonra sadece alana adını yazabiliriz.

23 Ağustos 2014 Cumartesi

SQL'de SELECT INTO Kullanımı

  • SQL'de bir tablodan çektiğimiz verileri, yeni bir tablo olusturup, bu tabloya yazabiliriz. 
  • SELECT INTO ile veritabanı üzerindeki verilerle kopya veritabanları oluşturabiliriz.
  • SELECT INTO genelde geçici çalışma tabloları oluşturmak için tercih edilir.
SELECT INTO Kullanımı:

SELECT kolon_ad(ları) INTO [yeni_veritabanı.dbo]yeni_tablo_adı FROM kaynak 

Örnek Sorgu: SELECT * INTO KITAPLAR.dbo.Bilimkurgu_Yedek FROM KITAPLAR.dbo.Bilimkurgu


SQL'de BREAK ve CONTINUE Kullanımları

  • Koşulumuz yerine getirildiğinde döngüden çıkmak için BREAK komutu kullanılır. 
  • BREAK komutu gereksiz yeri elimizdeki bütün verilerin kontrolünü engeller. 
  • İstenilen veriye ulaştığımız zaman diğerlerini atlayarak döngüden veya listeden çıkmamızı sağlar.

CONTINUE komutunu bir döngüde işlemler devam ederken bazı durumlarda işlem yapılmasın istiyorsak kullanabiliriz.


SQL'de WHILE Döngüsünün Kullanımı

  • İfadelerin belli bir koşul gerçekleşinceye kadar çalışmasını sağlar. 
  • Şart ifadesi false oluncaya kadar ifadeler yinelenir. 
  • Şart gerçekleştiği sürece BEGIN...END arasındaki kod çalışır.
WHILE Döngüsü Kullanımı:
WHILE şart
BEGIN
     Döngüye girmesi istenen kodlar
END

Örnek Sorgu: Örneğimizde WHILE Döngüsü içerisinde @sayac değişkeninin o an ki değerini ve karesini Print ile yazdırdık. Döngü içerisinde @sayac değişkenini sürekli 1 artırdık ve @sayac değişkeninin değeri 5’e eşit oluncaya kadar döngüye girmesini sağladık.

SQL'de CASE...WHEN Yapısının Kullanımı

  • Bu yapı SQL'de sorgu sonucu dönen bir kolonun değerine göre farklı işlemler yapabilmemize olanak saglar. İstediğimiz bir kolonun değerini belirli şartları kontrol ederek yeni bir değerle değiştirmek için kullanabiliriz. 
  • SELECT yada UPDATE ifadeleri ile birlikte kullanılır. 
  • CASE ifadesi IF gibi tek başına kullanılamaz. Çünkü komut değil bir işlevdir. 
NOT : Örnek sorgulamalarda Northwind Database'i kullanacağım. bk: Nortwind Database Kurulumu 
CASE...WHEN Kullanımı:
CASE koşula girecek değer
     WHEN değer THEN işlem
     WHEN değer THEN işlem
ELSE işlem
END

Örnek Sorgu:

Copyright 2013-2017 | İbrahim BAYRAKTAR /dev/null Web Günlüğü