Kayıtlar

Nisan, 2017 tarihine ait yayınlar gösteriliyor

SQL Ders40 - CONSTRAINTS | FOREIGN KEY

FOREIGN KEY   Başka bir tablonun PRIMARY KEY'i geçerli tabloda FOREIGN KEY olarak adlandırılır. CREATE TABLE tablo_ismi( degisken_ismi degisken_tipi FOREIGN KEY REFERENCES tablo_ismi(kolon_ismi) ); veya CREATE TABLE tablo_ismi( degisken_ismi degisken_tipi CONSTRAINT sınırlandırma_ismi FOREIGN KEY (kolon_ismi) ); FOREIGN KEY sınırlandırmasını daha önce oluşturulmuş bir tabloya ekleme ALTER TABLE tablo_ismi ADD FOREIGN KEY(kolon_ismi) REFERENCES tablo_ismi(kolon_ismi) ; veya ALTER TABLE tablo_ismi ADD CONSTRAINT sınırlandırma_ismi FOREIGN KEY(kolon_ismi) REFERENCES tablo_ismi(degisken_ismi); FOREIGN KEY sınırlandırmasını kaldırma ALTER TABLE tablo_ismi DROP CONSTRAINT sınırlandırma_ismi;

SQL Ders38 - CONSTRAINTS | UNIQUE

Bir kolondaki tüm verilerin farklı değerleri olmasını sağlar. Daha önce olan veriyi tabloya eklettirmez. CREATE TABLE tablo_ismi( degisken_ismi degisken_tipi UNIQUE); veya CREATE TABLE tablo_ismi( degisken_ismi degisken_tipi UNIQUE(degisken_tipi)); UNIQUE sınırlandırmasını daha önce oluşturulmuş bir tabloya ekleme ALTER TABLE tablo_ismi ADD UNIQUE (kolon_ismi); Birden fazla kolonda UNIQUE sınırlandırmasını eklemek için ADD CONSTRAINT sınırlandırma_ismi UNIQUE (kolon_ismi,kolon_ismi) UNIQUE sınırlandırmasını kaldırmak için ALTER TABLE tabllo_ismi DROP CONSTRAINT sınırlandırma_ismi; veya ALTER TABLE tablo_ismi ALTER COLUMN degisken_ismi degisken tipi; SqlQuery38.sql CREATE TABLE test (t int UNIQUE ); SqlQuery38_2.sql ALTER TABLE test ADD UNIQUE (t); SqlQuery38_3.sql ALTER TABLE test ALTER COLUMN T int;

SQL Ders39 - CONSTRAINTS | PRIMARY KEY

PRIMARY KEY  NOT NULL ve UNIQUE kombinasyonudur. Her tablo için bir tane mevcuttur. CREATE TABLE tablo_ismi( degisken_ismi degisken_tipi PRIMARY_KEY); veya CREATE TABLE tablo_ismi( degisken_ismi degisken_tipi CONSTRAINT sınırlandırma_ismi PRIMARY_KEY(kolon/kolonlar_ismi); ); PRIMARY KEY sınırlandırmasını daha önce oluşturulmuş bir tabloya ekleme ALTER TABLE tablo_ismi ADD PRIMARY KEY (kolon_ismi); veya ALTER TABLE tablo_ismi ADD CONSTRAINT sınırlandırma_ismi PRIMARY KEY (kolon/kolonlar_ismi); PRIMARY KEY sınırlandırmasını kaldırma ALTER TABLE tablo_ismi DROP CONSTRAINT sınırlandırma_ismi; SqlQuery39.sql CREATE TABLE test(t int NOT NULL CONSTRAINT pm_key PRIMARY KEY (t) ); SqlQuery39_2.sql ALTER TABLE test ADD CONSTRAINT pm_key PRIMARY KEY (t); SqlQuery39_3.sql ALTER TABLE test DROP CONSTRAINT pm_key;

SQL Ders37 - CONSTRAINTS | NOT NULL

NOT NULL Bir kolonun değerinin NULL olarak bırakılmamasını sağlar. CREATE TABLE tablo_ismi(degisken_ismi degisken_tipi NOT NULL); NOT NULL sınırlandırmasını ekleme ALTER TABLE tablo_ismi ALTER COLUMN kolon_ismi kolon_tipi NOT NULL; NOT NULL sınırlandırmasını kaldırma ALTER TABLE tablo_ismi ALTER COLUMN kolon_ismi kolon_tipi NULL; SqlQuery37.sql CREATE TABLE test(t int NOT NULL ); SqlQuery37_2.sql ALTER TABLE test ALTER COLUMN t int NULL ;

SQL Ders36 - CONSTRAINTS

   SQL'de tablodaki verileri için özel kısıtlamalar belirtebilirsiniz. Bu kısıtlamalara contraints denilmektedir. Kısıtlamalar kolon seviyesinde veya tablo seviyesinde olabilir. Kolon seviyesindeki kısıtlamalar sadece kolonu kapsarken, tablo seviyesindeki kısıtılamalar tüm tabloyu kapsar. SQL'de sıklıkla kullanılan kısıtlamalar (constraints) NOT NULL Bir kolonun değerinin NULL olarak bırakılmamasını sağlar. UNIQUE Bir kolondaki tüm verilerin farklı değerleri olmasını sağlar. PRIMARY KEY NOT NULL ve UNIQUE kombinasyonudur. Her tablo için bir tane mevcuttur. FOREIGN KEY Başka bir tablonun PRIMARY KEY'i geçerli tabloda FOREIGN KEY olarak adlandırılır. CHECK Bir tablonun kolonlarının özel bir koşula bağlı olarak atanmasını sağlar. Örneğin, ilgili kolona 0'dan küçük sayılar girilememesi gibi. DEFAULT Tabloya bir veri eklendiğinde ilgili kolona ait bir değer yoksa, hali hazırda bulunan DEFAULT değer kullanılır. INDEX Veritabanına hızlı veri kaydetmek ve almak

SQL Ders43 - CONSTRAINTS | INDEX

INDEX   Veritabanına hızlı veri kaydetmek ve almak için indexleme yapar. CREATE UNIQUE INDEX index_ismi ON tablo_ismi (kolon1, kolon2, ...); CREATE INDEX index_ismi ON tablo_ismi (kolon1, kolon2, ...); INDEX sınırlandırmasını silme DROP INDEX table_ismi .index_ismi;

SQL Ders42 - CONSTRAINTS | DEFAULT

DEFAULT   Tabloya bir veri eklendiğinde ilgili kolona ait bir değer yoksa, hali hazırda bulunan DEFAULT değer kullanılır. CREATE TABLE tablo_ismi( degisken_ismi degisken_tipi DEFAULT deger; ); DEFAULT sınırlandırmasını daha önce oluşturulmuş bir tabloya ekleme ALTER TABLE tablo_ismi ALTER COLUMN kolon_ismi SET DEFAULT deger; DEFAULT sınırlandırmasını silme ALTER TABLE tablo_ismi ALTER COLUMN kolon_ismi DROP DEFAULT;

SQL Ders41 - CONSTRAINTS | CHECK

CHECK   Bir tablonun kolonlarının özel bir koşula bağlı olarak atanmasını sağlar. Örneğin, ilgili kolona 0'dan küçük sayılar girilememesi gibi. CREATE TABLE tablo_ismi( degisken_ismi degisken_tipi CHECK (kosul) ); veya CREATE TABLE tablo_ismi( degisken_ismi degisken_tipi CONSTRAINT sınırlandırma_ismi CHECK (kosul) ); CHECK sınırlandırmasını daha önce oluşturulmuş bir tabloya ekleme ALTER TABLE tablo_ismi ADD CHECK (kosul); veya ALTER TABLE tablo_ismi ADD CONSTRAINT sınırlandırma_ismi CHECK (kosul) CHECK sınırlandırmasını silme ALTER TABLE tablo_ismi DROP CONSTRAINT  sınırlandırma_ismi;

SQL Ders34 - UNION | UNION ALL

Resim
   SQL'de UNION ve UNION ALL operatörü 2 veya daha fazla tablonun sorgu sonuçlarını birleştirmek için kullanılır. Bu operatörü kullanabilmek için gerekli kurallar; Sonucu birleştirilecek tablolar aynı sayıda kolon içermelidir. Sonucu birleştirilecek tabloların kolon tipleri karşılıklı eşleşmelidir. Sonucu birleştirilecek tabloların kolonları aynı sırada olmalıdır. Kopya satırların tekrar tekrar gösterilmemesi için UNION operatörü kullanılır. SELECT kolon_ismi FROM tablo_ismi UNION SELECT kolon_ismi FROM tablo_ismi  p1 tablosu p2 tablosu SqlQuery34.sql SELECT * FROM p1 UNION SELECT * FROM p2; Kopya satırların tekrar tekrar gösterilmesi için UNION ALL operatörü kullanılır. SELECT kolon_ismi FROM tablo_ismi UNION ALL SELECT kolon_ismi FROM tablo_ismi SqlQuery34_2.sql SELECT * FROM p1 UNION ALL SELECT * FROM p2;

SQL Ders33 - VIEW

Resim
   SQL'de VIEW operatörü sanal tablo oluşturmak için kullanılır. VIEW oluşturma CREATE VIEW view_ismi AS SELECT kolon_ismi FROM tablo _ismi; SqlQuery33.sql CREATE VIEW istanbullular AS SELECT * FROM kisiler WHERE sehir= 'istanbul' ; VIEW kullanma SELECT kolon_ismi FROM view_ismi; SqlQuery33_2.sql SELECT * FROM istanbullular; VIEW güncelleme ALTER VIEW view_ismi AS SELECT kolon_ismi FROM tablo_ismi; SqlQuery33_3.sql ALTER VIEW istanbullular AS SELECT * FROM kisiler WHERE sehir= 'londra' ; VIEW silme DROP VIEW view_ismi; SqlQuery33_4.sql DROP VIEW istanbullular;

SQL Ders32 - UPDATE

Resim
   SQL'de UPDATE operatörü tablo üzerinde günceleme yapmayı sağlar. UPDATE tablo_ismi SET kolon_adi=deger; WHERE kosul; SqlQuery32.sql UPDATE kisiler SET sehir= 'istanbul' WHERE ad= 'enes' ;

SQL Ders31 - ANY | ALL | EXIST | NOT EXISTS

Resim
  SQL'de ANY operatörü herhangi biri anlamı, ALL operatörü hepsi anlamı, EXIST operatörü mevcut ise ve NOT EXISTS operatörü mevcut değilse anlamı taşır. SELECT kolon_ismi FROM tablo_ismi WHERE kolon_ismi (<,>,=,.....) ANY ( ALT SORGU ) SELECT kolon_ismi FROM tablo_ismi WHERE kolon_ismi (<,>,=,.....) ALL ( ALT SORGU ) SELECT kolon_ismi FROM tablo_ismi WHERE EXIST ( ALT SORGU ) SELECT kolon_ismi FROM tablo_ismi WHERE NOT EXIST ( ALT SORGU ) SqlQuery31.sql SELECT id FROM kisiler WHERE id > ANY ( SELECT id FROM kisiler ); kisiler tablosunda idsi herhangi birinden daha büyük olan kişilerin idlerini geri döndürür. SqlQuery31_2.sql SELECT id FROM kisiler WHERE id >= ALL ( SELECT id FROM kisiler ); kisiler tablosunda idsi hepsinden büyük veya eşit olan kişilerin idlerini geri döndürür. SqlQuery31_3.sql SELECT id FROM kisiler WHERE EXISTS ( SELECT * FROM kisiler WHERE id= 3 ); Alt

SQL Ders30 - HAVING

Resim
   SQL'de HAVING operatörü GROUP BY operatörüne koşul koymak için kullanılır. WHERE operatörü her bir tablo verisine koşul koymak için kullanılıyordu. HAVING operatörü ise gruplama yapıldıktan sonra bu gruplara bir koşul koymak için kullanılır. SELECT kolon_ismi FROM tablo_ismi WHERE kosul GROUP BY kolon_ismi HAVING kosul2; SqlQuery30.sql SELECT ulke, count (ulke) FROM kisiler WHERE id BETWEEN 2 AND 4 GROUP BY ulke HAVING COUNT (id)>= 2 ORDER BY count (id) DESC ; Yukarıdaki sorgu kisiler tablosunun verilerini idsi 2 ve 4 arasında olan verileri ülkelere göre gruplandırır ve bu gruplandırmada ülkedeki kisi sayısı 2 veya daha fazla ise onları idleri azalan sırada ülke ve ülkedeki kişi sayısı kolonlarına koyar.

SQL Ders29 - GROUP BY

Resim
   SQL'de GROUP BY operatörü kolonları ortak değerlere göre gruplamayı sağlamaktadır. SELECT kolon_ismi FROM tablo_ismi WHERE kosul GROUP BY kolon_ismi SqlQuery29.sql SELECT ulke, count (ulke) FROM kisiler GROUP BY ulke ORDER BY count (id) DESC ; Yukarda kisiler arasında hangi ülkeye kaç kişi mensup olduğunu görülebilmesi için gerekli sorgu yazılmıştır.

SQL Ders20 - SELECT NULL

Resim
  SQL'de NULL verilerin ilgili kolonda değeri atanmayan değerleridir. SQL sorgularda duruma göre NULL veya NOT NULL komutları kullanılabilir. SELECT kolon_ismi FROM tablo_ismi; WHERE kolon_ismi IS NULL; SELECT kolon_ismi FROM tablo_ismi; WHERE kolon_ismi IS NOT NULL; CREATE TABLE tablo_ismi( kolon_ismi kolon_tipi NOT NULL ); SqlQuery20.sql SELECT * FROM personeller WHERE AD IS NOT NULL ;

SQL Ders19 - SELECT SUM

Resim
   SQL'de SUM operatörü belirli bir kolondaki satir değerlerinin toplanmasını sağlamaktadır. SELECT SUM(kolon_ismi) FROM tablo_ismi; SqlQuery19.sql SELECT SUM (MAAS) AS toplam FROM personeller;

SQL Ders18 - SELECT IN

Resim
    SQL'de IN operatörü çoklu OR operatörünü indirgemek için kullanılır. Birçok OR operatörü yerine tek bir IN operatörü ile aynı iş yapılmış olur. SELECT kolon_ismi FROM tablo_ismi WHERE kolon_ismi IN (deger1,deger2); SqlQuery18.sql SELECT * FROM personeller WHERE ID IN ( 1 , 3 , 5 );

SQL Ders17 - SELECT AS

Resim
   SQL'de AS operatörü tablo kolonuna geçici isim vermek için kullanılır. SELECT kolon_ismi AS gecici_isim FROM tablo_ismi; SqlQuery17.sql SELECT ID AS NO , AD AS ISIM, MAAS AS GEL İ R FROM personeller;

SQL Ders28 - LIKE

Resim
   SQL'de LIKE komutu WHERE koşuluyla birlikte belli bir patterne (desen) sahip veriyi aramak için kullanılır. % operatörü  0,1 veya daha çok karakter yerine geçer. _ operatörü 1 karakter yerine geçer. Örnek kullanımlar aşağıda belirtilmiştir. WHERE kolon_ismi LIKE  'e%' -> 'e' ile başlayanlar. WHERE kolon_ismi LIKE  '%e' -> 'e' ile bitenler. WHERE kolon_ismi LIKE  '%e%' -> 'e' içerenler. WHERE kolon_ismi LIKE  '%e_' ->  sondan 2. harfi 'e' olanlar. WHERE kolon_ismi LIKE  '_e_' -> 3 harfli olup ortadaki harfi 'e' olanlar. WHERE kolon_ismi LIKE  'e%e' -> 'e' ile başlayıp 'e' ile bitenler , SqlQuery28.sql SELECT * FROM personeller WHERE AD LIKE '%es%' ;

SQL Ders22 - BETWEEN | AND

Resim
  SQL'de AND komutu SQL sorgusuna birden fazla koşul eklenmek istendiğinde kullanılır. Koşulların hepsi doğru olan veriler çekilir. SELECT kolon_ismi FROM tablo_ismi; WHERE kosul1 AND kosul2; SqlQuery22.sql SELECT * FROM personeller WHERE ID= 5 AND YAS<= 26 ; SQL'de BETWEEN ise, WHERE koşulunun doğru olduğu aralığı tanımlar. SELECT kolon_ismi FROM tablo_ismi; WHERE kosul BETWEEN deger1 AND deger2; SqlQuery22_2.sql SELECT * FROM personeller WHERE ID BETWEEN 3 AND 5 ;

SQL Ders24 - WITH

Resim
   SQL'de WITH komutu SQL sorgusunda geçici bir tablo oluşturup onun üzerinden işlemler yapabilmeyi sağlar. İç içe sorgularda kullanılır. WITH takma_isim  AS (SELECT * FROM tablo_ismi) SELECT kolon_ismi FROM takma_isim WHERE kosul; SqlQuery24.sql WITH tablo AS ( SELECT AD,YAS FROM personeller) SELECT * FROM tablo WHERE yas< 24 ; Bu örnekte AS komutundan sonra gelen parantez içi ifade için tablo takma ismi atanmıştır. Böylece alttaki SELECT sorgusunda  bu tablo üzerinden işlemler kolayca yapılabilmektedir.

SQL Ders27 - INSERT INTO

Resim
   SQL'de INSERT INTO komutu tabloya veri eklemek için kullanılır. Hangi kolonlara değerlerin ekleneceğini belirtmeden veri girme. INSERT INTO tablo_ismi VALUES(deger1,deger2,deger3); Hangi kolonlara değerlerin ekleneceğini belirterek veri girme. INSERT INTO tablo_ismi(kolon1,kolon2,kolon3) VALUES(deger1,deger2,deger3); Bir SELECT sorgusundan elde edilen kolonları değerlerini veri olarak girme. INSERT INTO tablo_ismi(kolon1,kolon2,kolon3) SELECT deger1,deger2,deger3 FROM tablo_ismi2; Çoklu veri ekleme INSERT INTO tablo_ismi(kolon1,kolon2,kolon3) SELECT deger1,deger2,deger3 UNION ALL SELECT deger4,deger5,deger6; SqlQuery27.sql INSERT INTO personeller VALUES ( 7 , 'enes7' , 3500 , 27 ); INSERT INTO personeller(ID,AD,MAAS,YAS) VALUES ( 8 , 'enes8' , 3500 , 28 ); INSERT INTO personeller SELECT * FROM personeller2 WHERE AD= 'enes9' ; INSERT INTO personeller SELECT 10 , 'enes10' , 3500 , 3

SQL Ders26 - ORDER BY RANDOM

Resim
   SQL'de ORDER BY komutuna NEWID() argümanı geçirilerek rastgele bir sıralama yapılması sağlanabilir. SELECT kolon_ismi FROM tablo_ismi ORDER BY NEWID(); SqlQuery26.sql SELECT * FROM personeller ORDER BY NEWID();

SQL Ders25 - ORDER BY ASC | DESC

Resim
   SQL'de ORDER BY komutu çekilen sonuçları belirli bir kolona göre artan (ASC) veya azalan (DESC) sırada sıralamayı sağlamaktadır. Zorunlu olarak kullanılmasına gerek yoktur, opsiyonel bir komuttur. Ayrıca birden fazla kolona göre de sıralama yapılabilmektedir. SELECT kolon_ismi FROM tablo_ismi ORDER BY kolon_ismi ASC; SELECT kolon_ismi FROM tablo_ismi ORDER BY kolon_ismi DESC; SqlQuery25.sql SELECT * FROM personeller ORDER BY ID DESC ; Sorgu yapıldıktan sonra elde edilen sonuç aşağıdadır.

SQL Ders23 - OR

Resim
   SQL'de OR komutu SQL sorgusuna birden fazla koşul eklenmek istendiğinde kullanılır. Koşulların en az biri doğru olan veriler çekilir. SELECT kolon_ismi FROM tablo_ismi; WHERE kosul1 OR kosul2; SqlQuery23.sql SELECT * FROM personeller WHERE ID= 5 OR YAS< 24 ;

SQL Ders21 - WHERE

Resim
   SQL'de WHERE komutu belli bir koşula göre veritabanından verileri çekmeye yarar. SELECT kolon_ismi FROM tablo_ismi; WHERE kosul; SqlQuery21.sql SELECT * FROM personeller WHERE ID= 5 ;

SQL Ders16 - SELECT TOP

Resim
   SQL'de SELECT TOP sorgusu tablodaki en üst verileri çekmeyi sağlar. SELECT TOP sayi * FROM tablo_ismi; SqlQuery16.sql SELECT TOP 3 * FROM personeller;

SQL Ders15 - SELECT COUNT

Resim
   SQL'de SELECT COUNT sorgusu toplam satır sayısını geri döndürür. Tablodaki toplam satır sayısını geri döndürmek için, SELECT  COUNT(*) FROM tablo_ismi; Belli bir kolondaki toplam satır sayısı geri döndürmek için, SELECT  COUNT(kolon_ismi) FROM tablo_ismi; Tabloda bir kolondaki toplam farklı satır sayısını geri döndürmek için, SELECT  COUNT (DISTINCT kolon_ismi) FROM tablo_ismi; ifadeleri kullanılabilir. SqlQuery15.sql SELECT COUNT ( DISTINCT maas) FROM personeller;