ERP Nedir? | Türkiye'nin ERP Forum Platformu Ana Sayfa
Forum Anasayfa Forum Anasayfa > SQL > SQL Veri Tabanı İşlemleri
  Aktif Konular Aktif Konular RSS - SQL : belki isinize yarar
  SSS SSS  Forumu Ara   Etkinlikler   Kayıt Ol Kayıt Ol  Giriş Giriş

ERP Nedir? Enterprise Resource Planning nasıl çalışır? İş süreçleri ile ilgili tüm soru ve cevapları ERPNe.org'da.

Ülkemizde hızla gelişmekte olan ERP yazılım sektörümüzün, Yerli ve Yabancı ERP işlemlerinin tanıtımı ve kullanıcılarının buluşma noktası olması hedefiyle kurulan sitemize hoş geldiniz.

Ülkemizdeki Ne.org konseptinde bir ilk olarak yayın hayatına başlayan ERPNe.org, Kurumsal Kaynak Planlaması yazılımlarını kullananların bilgi kaynağı/Portal olmak amacı ile kurulmuştur.

Genellikle yurt dışında büyük üreticiler tarafından geliştirilen SQL, Delphi, ASP, CSharp gibi teknolojilerin anlatıldığı sitelerin kullandıkları (WhatisSQL, WhatisASP) (Ülkemizde Netsis Nedir, Mikro Nedir, SAP Nedir yada Logo Nedir gibi kullanıcı sorularına) Ne ve nedir konseptinde yeni bir açılım olmasını da hedefleyen ERPNe.ORG' un, ülkemizin uluslararası ERP sektörü içinde hak ettiği yeri almasında ve ERP ürünlerini kullananların bir araya gelerek Yerli ERP'nin gelişmesine katkı sağlayacakları önemli bir kilometre taşı olacağı düşüncesindeyiz.


Kapalı KonuSQL : belki isinize yarar

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
  Konu Arama Konu Arama  Topic Seçenekleri Topic Seçenekleri
Schizophrenic Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 16 Kasım 2006
Konum: İstanbul
Durum: Aktif Değil
Puanlar: 163
Mesajın Direkt Linki Konu: SQL : belki isinize yarar
    Gönderim Zamanı: 27 Nisan 2007 Saat 18:31
TEK TABLODAN SORGULAMALAR
SELECT SEÇ
FROM GELIS
ÖRNEK: 1) Bütün bilgileri personel tablosundan kosulsuz olarak listele
SELECT *
FROM personel
ÖRNEK:2) Personel tablosundan SEÇ komutuyla istenen sütun adlarini belirt.
SELECT sicil,sosy_g_no,ad,soyad,dog_tar,adres,cins,brüt,böl_no,yön_s_g_n
FROM personel;
ÖRNEK:3)Personel tablosundan istenen sütün basliklarini listele.
SELECT sicil,ad,soyad,brüt
FROM personel;
DISTINCT - TEKRARSIZ
TANIM:SQL'de tablo içinde birbirinin ayni datalar bulunabilir.Ayni satirlarin listeleme esnasinda bir kez yazilmasi
ÖRNEK: 1)Par _sat dosyasindan sat_no’lari tekrarsiz olarak listelenecektir.
SELECT DISTINCT sat_no
FROM par_sat;
i)TABLO BILGILERININ SIRALANMIS OLARAK LISTELENMESI
ORDER BY - SIRALA
TANIM:Tablodaki sütunlardan ,belirli bir sütuna göre listelemek için SEÇ komutuna ,SIRALA eklenir.
ÖRNEK: 1)Personel dosyasindan,sicil,ad,soyad,brüt sütunlarini seç ve brüt(maasa)göre büyükten küçüge sirala.
SELECT sicil,ad,soyad,brüt
FROM personel
ORDER BY brüt ASC;
DESC Küçükten büyüge sirala
ASC Büyükten küçüge sirala
II)BIRDEN ÇOK ALANA GÖRE SIRALAMA
TANIM:Bir tablo içinde ,birden fazla sütundan ayni anda siralamak için kullanilir.
ÖRNEK 1)Personel dosyasindan seçilen sütunlarini ayni anda hem ad,hem de otomatik olarak siralar.
SELECT sicil,ad,soyad,brüt
FROM personel
ORDER BY ad,brüt;
ÖRNEK 2)Personel tablosundan seçili sütunlari öncelik adda olmak üzere (B-K) adi bozmadan soyadi (K-B) sirali listeler.
SELECT sicil,ad,soyad,brüt
FROM personel
ORDER BY ad ASC,soyad DESC,brüt ASC;
veya;
SELECT sicil,ad,soyad,brüt
FROM personel
ORDER BY ad,soyad DESC,brüt;
DESC'li durumda yanina yazip belirtilir,yazilmazsa ASC direct kabul edilir.
KOSULA BAGLI OLARAK LISTELEME:
WHERE - OLAN
TANIM:Verilen kosulu saglayanlar listelenir.Iki veri birbiriyle karsilastirilmaktadir. Karsilastirilan verilerin türü ayni olmalidir.
SELECT *
FROM personel
WHERE brüt > 5000000;
KARSILASTIRMA OPERATÖRLERI:
OPERATÖR ANLAMI
< ...den daha küçük
> ...den daha büyük
= Esit
<= Küçük veya esit
>= Büyük veya esit
<> Esit degil
!= Esit degil
!< ...den küçük degil
!> ...den büyük degil
ÇESITLI VERI TIPLERI IÇIN BASIT SORGULAMALAR:
i)NÜMERIK VERI TIPLERI:
ÖRNEK: Maasi 8000000TL’den fazla olmayan personeli listele.
SELECT *
FROM personel
WHERE brüt <= 8000000;
ii)KARAKTER VERI TIPLERI (CHAR):
Karakter çift veya tek tirnak ile gösterilir.
ÖRNEK: Adi Ali olmayan personele ait kayitlari listele.
SELECT *
FROM personel
WHERE ad <> "Ali";
III)TARIH VERI TIPI:
Tarih veri tipleri { } sembolleri içinde yazilir.
ÖRNEK: Hangi personelin dogum tarihi 1960 yilindan daha öncedir?
SELECT *
FROM personel
WHERE dog_tar <={12/31/59};
MANTIKSAL (LOJIK) VERI TIPI:
Mantiksal veriler için mümkün olabilen sadece iki deger sözkonusudur.DOGRU D(TRUE T) , YANLIS Y (FALSE F) ile simgelenir.
ÖRNEK: Personel tablosunda personelin cinsiyetini belirten cins adli alan mantiksal(logical) olarak tanimlanmistir.Cinsiyeti erkek olanlari D,kadin olanlari y ile tanimlarsak erkek olanlari listele.
SELECT *
FROM personel
WHERE cins = .T.;
BIRDEN ÇOK KOSULA DAYALI SORGULAMALAR: (NOT,AND,OR)
TANIM:Mantiksal operatörlerin yardimi ile birden çok kosulun gerçeklestirmesine bagli olarak ifade edilebilecek (karmasik yada birlesik kosullu listelemeleri gerçeklestirilmektedir.)
AND - VE
ÖRNEK:Maasi 5000000’dan fazla olan ve cinsiyeti erkek olan personelin listelenmesi istenir yani iki kosul verilmektedir ve ikisininde olmasi istenir
SELECT *
FROM personel
WHERE brüt >5000000 AND cins =.T.;
NOT - DEGIL, OR - VEYA
ÖRNEKLER:
i)Dogum tarihi 1960’dan önce olan maasi 6000000 – 10000000 arasindaki bayan personelin listele.
SELECT *
FROM dog_tar < {01/01/60} AND
brüt > = 6000000 AND brüt < =10000000
AND cins = .F.;
ii)Satis bölümüyle muhasebe bölümündekiler kimlerdir? (Satis bölümünün böl_no’sunun 1 ve muhasebe bölümünün böl_no’sunun 2 oldugu varsayilmaktadir
SELECT *
FROM personel
WHERE bol_no =1 OR bol_no = 2;
III)Bölümü Satis yada Muhasebe olamayan 1960’dan sonra dogmus bayan personeli listele.
1. Yazilim
SELECT *
FROM personel
WHERE NOT (böl_no =1 OR
böl_no =2) AND dog_tar > ={01/01/60}
AND cins =.F.;

2. Yazilim
SELECT *
FROM personel
WHERE böl_no <> 1 AND
böl_no <> 2 AND dog_tar > ={01/01/60}
AND cins =.F.;
BIR VERI KÜMESINDE ARAMA -IN OPERATÖRÜ
IN - IÇINDE
"IN" operatörü DEGIL(NOT) ile kullanililabilir.
ÖRNEK:i) Bölümü 1,2,3 olmayan personel kimlerden olusmaktadir?
SELECT *
FROM personel
WHERE bol_no NOT IN (1,2,3);
ÖRNEK:ii) Böl_no’su 1,2 yada 3 olan personeli listele
SELECT *
FROM personel
WHERE böl_no = 1 OR böl_no= 2 OR
böl_no = 3;
Bu örnegin IN ile yapilmis sekli daha kisadir.
SELECT *
FROM personel
WHERE NOT böl_no IN (1,2,3);
ARALIK SORGULAMA SÖZCÜGÜ:
BETWEEN - ARASINDA
ÖRNEK:Maasi 5- 10 milyon arasinda olan personel kimlerdir?
SELECT *
FROM personel
WHERE brüt > =5000000 AND
brüt < = 10000000;
BETWEEN (ARASINDA) komutu ile daha kisa olacaktir.
SELECT *
FROM personel
WHERE brüt BETWEEN 5000000
AND 10000000;
KARAKTER TÜRÜ BILGI IÇINDE ARAMA YAPMA -LIKE SÖZCÜGÜ:
TANIM ÖRNEGI: Adres sutunu içerisinde semt bölümüne ait ayrica bir sutun olmadigini varsayarak semt adi adres sutunu içerisinde yer alir ve buradan da LIKE (BULUNAN) komutuyla adres sutunu içerisinde Taksim semtinde oturan personeli listele.
SELECT *
FROM personel
WHERE adres LIKE "% TAKSIM %" ;
Adres LIKE "%TAKSIM%" ifadesi adres içinde her hangi bir yerde TAKSIM yazan yerde oturan personeli listeleyecektir. LIKE sözcügünü ,alt çizgi (-) sembolü ile birlikte kullanmakta mümkündür.
SELECT *
FROM personel
WHERE ad LIKE "Mehmet -----";
Sekildeki komut ile ad alani "Mehmet " ile baslayan ve ad alani uzunlugu 10 karakter olan isimlere sahip personeli listeleyecektir."Mehmet Ali","Mehmet Can"- "Mehmetcik" gibi isimler listeleyecektir.Anlasilacagi gibi - sembolü , tek karakterlik bir bilgiyi temsil etmektedir.

SQL'DE ARITMETIKSEL IFADELER VE FNKSIYONLAR
KÜME FONKSIYONLARI
SUM FONKSIYONU:
SUM - TOPLA
Fonksiyonun argümani olarak belirtilen sütun ile iliskili olana toplama islemini gerçeklestirir.
ÖRNEK:Isletmedeki personelin brüt maaslar toplami ne kadardir?
SELECT SUM (brüt)
FROM personel;
AVG FONKSIYONU:
AVG - ORT
Aritmetiksel ortalama (average) hesaplamak için kullanilir.
ÖRNEK:Isletmedeki personelin brüt maaslar toplami ne kadardir?
SELECT AVG(brüt)
FROM personel;
MAX FONKSIYONU:
MAX - ÜST
Tablo içinde ,belirtilen sutun (alan)içindeki en büyük degeri bulur.
ÖRNEK:Isletme içindeki en yüksek maas ne kadardir?
SELECT MAX (brüt)
FROM personel;
MIN FONKSIYONU:
MIN - ALT
Tablo içinde,belirlenen sutun alan içindeki en küçük degeri bulur.
ÖRNEK:Isletme içinde 4 Mayis 1970’den önce doganlar için,asgari ücret nedir?
SELECT MIN(brüt)
FROM personel
WHERE dog_tar < {05/04/70};
COUNT FONKSIYONU:
COUNT - SAY
Tablo içinde ,her hangi bir sayma islemi gerçeklestirmek için kullanilir.
ÖRNEK:Ücreti 6000000'dan olan personel sayisi nedir?
SELECT COUNT (*)
FROM personel
WHERE brüt > 6000000;
COUNT (SAY) fonksiyonu DISTINCT (TEKRARSIZ)sözcügü ile de kullanilir.
ÖRNEK:Personel tablosunda mevcut personelin isletme içinde kaç tane farkli bölümde çalistigini bul.
SELECT COUNT(DISTINCT böl_no)
FROM personel;
COUNT (böl_no)

GRUPLANDIRARAK ISLEM YAPMA
GROUP BY -GRUPLA
ÖRNEK: Her bölümdeki ortalama maas nedir?
SELECT böl_no,AVG (brüt)
FROM personel
GOUP BY böl_no;
HAVING -SAHIP
Gruplandirarak kümeleme fonksiyonunu uygularken kosulda verilebilir.Bu durumda grup üzerindeki hesaplamalarla ilgili kosul belirtilirken HAVING (SAHIP) sözcügü kullanilir.
ÖRNEK:En yüksek maasin 9000000’dan fazla oldugu bölümlerdeki personele ait ortalama maaslari listele.
SELECT böl_no,AVG (brüt)
FROM personel
GROUP BY böl_no
HAVING AVG(brüt)> 9000000;
HAVING(SAHIP) sözcügü SELECT(SEÇ) konusunda GROUP BY(GRUPLA) bulunmadigi zaman geçersizdir.HAVING(SAHIP) sözcügünü izleyen ifade içinde ,SUM(TOPLA), COUNT(*)(SAY),AVG(ORT),MAX(ÜST) yada MIN(ALT) fonksiyonlarindan en az biri bulunmalidir.
HAVING (SAHIP) sözcügü sadece gruplanmis veriler üzerindeki islemlerde geçerlidir.
WHERE (OLAN) sözcügü bir tablonun tek tek satirlari üzerinde islem yapan kosullar içinde geçerlidir.
Bazi durumlarda HAVING(SAHIP) ve WHERE(OLAN) sözcükleri ile birlikte SELECT(SEÇ) komutu içinde kullanilabilir.
ÖRNEK:Personel tablosu içinde her bölümde erkek personele ait maaslar için ortalamanin 9000000’dan fazla oldugu bölümleri listele.
SELECT böl_no, AVG (brüt)
FROM personel
WHERE cins= .T.
GROUP BY böl_no
HAVING AVG (brüt) > 9000000;

BIRDEN FAZLA TABLOYU ILISKILENDIRMEK
JOIN -ILISKILENDIR
ÖRNEK: Personel ve bölüm adli 2 tablo bulunmaktadir.Çalisan her personel ve personelin yöneticisi ile iliskili bilgiler nelerdir?
SELECT *
FROM personel,bölüm
WHERE personel .böl_no=bölüm.bölüm_no ;
ÖRNEK: JOIN (ILISKILENDIR) isleminde arzu edilen(sicil,ad,soyad,böl_no,yön_s_g_n) alanlarin listele.
SELECT sicil,ad,soyad,böl_no,yön_s_g_n
FROM personel,bölüm
WHERE personel .böl_no = bölüm .bölüm_no;
SELF-JOIN: KENDISIYLE -ILISKILENDIR
TANIM:Bir tablonun kendisi ile birlestirilmesine "KENDISIYLE-ILISKiLENDIR" denir.(SELF-JOIN)
SELECT A. sicil , A.ad , A.soyad,
B .ad , B.soyad , B.dog_tar.soyad,
FROM personel A , personel B
WHERE A. yon_sos_g_n =B .sosy_g_no;
NESTED SELECTS:IÇIÇE
TANIM:Iç içe geçmis SELECT(SEÇ)komutlarindan olusur.Içteki. seç komutunun buldugu sonucu dis taki SEÇ komutumuz islevini yerine getirmesi için kullanilir.
ÖRNEK:Parça numarasi 24 olan parçayi ,projelerde kullanan çalisan personeli listele.
SELECT *
FROM personel
WHERE sosy_g_no
IN(SELECT per_s_g_no
FROM parça,proje,çalisma
WHERE pr_no = proj_no AND
proj_no =proj_no AND
par_no =24);
ÖRNEK: Fatih’te oturan personelin çalistigi projelerin adlarini ve yerlerini listele.
SELECT proj_ad,yer
FROM proje
WHERE proj_no IN
(SELECT proje_no
FROM personel,çalisma per_s_g_no
WHERE sosy_g_no = per_s_g_no
AND adres LIKE "% fatih %");
UNION SÖZCÜGÜ:
UNION -BIRLESIM
TANIM:Iki ayri SEÇ komutunun sonucunda elde edilen tablolarin birlesimi islemini gerçeklestirir.
ÖRNEK: Fatih’te oturan personelin çalistigi projelerin adlarini ve yerlerini listele.
(SELECT proj_ad,yer
FROM proj,bölüm,personel
WHERE bl_no=bölüm_no AND
y_sos gno = sosy_g_no
AND ad ="Ahmet"AND soyad ="Caner")
UNION (SELECT proj_ad,yer
FROM proje,çalisma,personel
WHERE proj_no = proje_no AND
Per_s_g_no = sosy_g_no AND ad ="Ahmet"
AND soyad ="Caner")
KOSULLAR:
UNION (BIRLESIM) sözcügü ile ,iki yada daha çok kisi SELECT (SEÇ)'in sonucu olan tablolarin küme birlesimi islemine tabi tutulmasi için 2 kosul gereklidir.
SELECT (SEÇ) komutlari sonucunda elde edilecek tablolar ayni sayida kolon içermelidirler.
Sonuç tablolari karsilikli olarak kolonlarin ayni veri tipi ve ayni genislikte olmalidir.
ANY :HER HANGI BIRI
ÖRNEK:Satis bölümünde çalisan personelin her hangi birinden daha düsük maas alan ve mühendislik bölümündeki kisileri listele.
SELECT *
FROM personel
WHERE brüt < ANY
(SELECT brüt
FROM personel
WHERE böl_no = 2) AND
böl_no =1;
ES DEGERI IFADE:
SELECT *
FROM personel
WHERE brüt < (SELECT MAX (brüt )
FROM personel
WHERE böl_no = 2) AND böl_no =1;
ALL:HEPSI
ÖRNEK:Satis bölümünde çalisan ve mühendislik bölümündeki personelin hepsinden daha fazla maas alan personeli listele.Bu örnekte satis bölümü kodu = 2 ve mühendislik bölümü kodu = 1 alinmistir.
1)
SELECT *
FROM personel
WHERE brüt >
ALL (SELECT brüt
FROM personel
WHERE böl_no = 1)
AND böl_no = 2;
2)
SELECT *
FROM personel
WHERE brüt >
(SELECT MAX (brüt)
FROM personel
WHERE böl_no = 1)
AND böl_no =2;
VE ,VEYA ,DEGIL operatörleri ile kullanilabilir.
ÖRNEK: 27 no’lu parçayi satan saticilarla iliskili tüm bilgileri listele.
SELECT *
FROM satici
WHERE EXISTS
(SELECT *
FROM par_sat
WHERE sat_no = satici_n
AND parça_n =27);
NOT EXISTS: MEVCUT DEGIL
VE ,VEYA ,DEGIL operatörleri ile kullanilabilir.
ÖRNEK: 27 no’lu parçayi satmayan saticilar kimlerdir?
SELECT *
FROM satici
WHERE NOT EXISTS
(SELECT *
FROM par_sat
WHERE sat_no = satici_n
AND parça_n =27);
EXCEPT:FARKLI
Tablo-1 - Tablo-2 islemi sonuç(iki kümenin farki) elde edilecek tabloda,Tablo-1'de bulunup, Tablo-2'de bulunmayan veriler mevcut olacaktir.
ÖRNEK:Satis bölümündeki personel adlarindan,mühendislik bölümünde bulunmayanlari listele.
SELECT * FROM
(SELECT ad FROM personel
WHERE bol_no=1
EXCEPT
SELECT ad FROM personel
WHERE bol_no =2);
INTERSECT:
ÖRNEK: Hem Ankara’da,hem de Istanbul’daki projelerde görev alan bölümleri listele.
SELECT * FROM
(SELECT bl_no FROM proje
WHERE yer LIKE "%Ankara%"
INTERSECT
SELECT bl_no FROM proje
WHERE yer LIKE "%Istanbul%");
SAVE TO TEMP:
ÖRNEK: Bayan personeli,bayan adli bir tablo içinde sakla.
SELECT *
FROM personel
WHERE cins =.F. SAVE TO TEMP bayan;
KEEP:KALICI
SELECT *
FROM personel
WHERE cins = .F.
SAVE TO TEMP bayan KEEP;

TABLOLARDA DEGISIKLIK YAPMAK
INSERT-EKLE (INTO-IÇINE, VALUES-DEGERLER)
ÖRNEK:Bir personel tablosuna sicil_no’su 275 olan personel ile iliskili bilgileri ekle.
INSERT INTO personel(sicil,
sosy_g_no,ad,soyad,dog_tar
adres,cins,brüt,böl_no,yön_s_g_no
VALUES("275","27652418","Ali","Caner",
{10/05/1962},"Merkez caddesi 46 - Fatih-Istanbul",
.T.,27000000,2,"876215342");
DELETE: -SIL
ÖRNEK:2 no’lu bölümdeki personelin tümü tablodan sil.
DELETE FROM personel
WHERE böl_no = 2;
ÖRNEK:Brüt maas alani bos olmayan tüm personeli sil.
DELETE FROM personel
WHERE brüt IS NOT NULL;
UPDATE - GÜNCELLE, SET - YAP
ÖRNEK:2’inci bölümün yürüttügü projelerde kullanilan tüm parçalarin fiyatlarini % 7 zam yap.
UPDATE parça
SET fiyat = fiyat *1,07
WHERE pr_no IN
(SELECT proj_no
FROM proje
WHERE bl_no = 2;
CREATE INDEX: INDEKS YARAT , ON - IÇIN
CREATE INDEX indeks adi
ON tablo adi(kolon adi 1,kolon adi 2,.,.kolon adi n);
TEK BIR ALAN AGÖRE ARTAN SIRADA INDEKSLEME :
ÖRNEK:Isletmede çalisan personeli brüt maaslarina göre artan sirada listele.(Brüt alana göre bir indeks olusturmaliyiz)
CREATE INDEX pers_maas
ON personel(brüt);
127 satirlik personel tablosu ile iliskili olarak brüt kolonu indeks anahtari olarak kullanan pers_maas adli indeks olusturulmustur.Bu durumda;
SELECT *
FROM personel;
_Seklinde listeleme komutu sonucunda personel tablosundaki tüm personel, brüt maaslarina göre sirali olarak listelenecektir.
TEK BIR ALANA GÖRE AZALAN SIRADA INDEKSLEME : DESC -Küçükten büyüge (K-B)
ÖRNEK:Isletmede çalisan personeli brüt maaslarina göre azalan sirada (yüksek maastan düsük maasa dogru)listelemek istersek ,brüt alanina göre asagidaki sekilde olusturmak gerekir.
CREATE INDEX
ON personel (brüt DESC);
BIRDEN FAZLA ALANA GÖRE INDEKSLEME :
ÖRNEK:Isletmedeki personelin öncelikle adlarina göre,ayni adda olanlarin soyadlarina göre ,hem adi hemde soyadi ayni olanlarin maaslarina göre siralanmis olarak listele.
CREATE INDEX p_ad_soy_m
ON personel (ad,soyad,brüt);
Bu durumda;
SELECT *
FROM personel;
tablo görüntülenir.
UNIQUE SÖZCÜGÜ: TEK
Bir tablo,seçilen bir sutüna (alana) göre indekslenirken , indeksleme alani olarak seçilen sutündaki verilerintekrarlanmasina müsaade edilmesi istenmiyorsa,indeksleme yapilirken ,CREATE ,INDEX komutu iinde UNIQUE sözcügü kullanilmalidir.
CREATE UNIQUE INDEX pers_sicil
ON personel (sicil);
EKLEME IÇIN:
Personel tablosuna
INSERT INTO Personel
VALUES(53768 ,"27241685","ayse",
"sen"{01/04/63},"Merkez cad. 82 -
Kadiköy".F. ,27000000 ,2, "34261578");
MEVCUT BIR INDEKSIN SILINMESI: DROP- IPTAL
DROP INDEX pers_in;
Komutu ile index silinir.
TABLONUN YAPISINDA DEGISIKLIK YAPMAK:
MEVCUT BIR TABLOYA KOLON EKLEMEK: ADD - Ekle, DATE -Tarih
ALTER TABLE (TABLO DEGISTIR) komutu içinde ADD (EKLE) ile satir ekle.
ÖRNEK:Personel tablosuna ,ise baslama tarihini belirten bir kolon ekle
ALTER TABLE personel
ADD is_bas_tar DATE;
ADD (EKLE)is_bas_tar DATE NOT NULL (TARIH DEGERSIZ) bu sekilde kullanilsaydi bu kolon satiri gene bos kalirdi ; fakat bu kolon ile iliskili yeni bos degerler eklemek istendiginde buna müsaade edilmeyecekti.
MEVCUT BIR TABLONUN KOLONLARINDA DEGISIKLIK YAPMAK :
MODIFY KOMUTU - ONAR
MEVCUT BIR TABLODAN BIR KOLON SILMEK:
DROP KOMUTU : IPTAL
ÖRNEK:Personel tablosundan is_bas_tar kolonunu sil.
ALTER TABLE personel
DROP is_bas_tar ;
Birden fazla kolonda silinebilir.Birden fazla kolon silmek için virgülle ayrilarak silinir.
BIR TABLONUN ADINI DEGISTIRMEK:
RENAME KOMUTU: TABLO YENI AD
ALTER TABLE personel
RENAME TABLE elemanlar;
MEVCUT BI TABLONUN BIR KOLONUNUN ADININ DEGISTIRILMESI:
RENAME : YENI AD
ALTER TABLE personel
RENAME brüt br-maas;
MEVCUT BIR TABLONUN TÜMÜYLE SILINMESI
DROP TABLE
ÖRNEK:Proje tablosunu sil.
DROP TABLE proje;

VERI GÜVENLIGI
CREATE VIEW
ÖRNEK:Personel adli temel tablodan persview adli bir view olustur.
CREATE VIEW perswiew
AS SELECT sicil,sos_g_no,ad,soyad,dog_tar,
adres,cins,böl_no,yon_s_g_no
FROM personel;
VERI BÜTÜNLÜGÜNÜN SAGLANMASI:
WITH CHECK OPTION
CREATE VIEW UST_PER_ VIEW Önce bir view olusturulsun
AS SELECT FROM personel
WHERE brüt >25000000
WITH CHECK OPTION;
Burada, maasi 25000000'ün üzerinde olan personelden olusan bir UST_PER_VIEW adli view olusturulmustur.Bu view'a brüt maasi 13000000 olan bir personel eklemek istedigi zaman hata mesaji verecektir.
CHECK opsiyonu kullanilmasaydi hata mesaji alinmadan bu veri VIEW içine yükleyecekti.
EKLEME
INSERT INTO UST_PER_VIEW
VALUES (27521 ,"27865427","ayse",
"okan" ,{01/05/1962}"Cumh. Cad. 46 - Taksim",
.F.,13000000 ,1 ,"27651112");
VIEW IÇINDE SATIR SILME:
ÖRNEK:UST_PER_VIEW içinden,maasi 2500000’den az olan kisileri sil.
DELETE FROM UST_PER_VIEW
WHERE brüt < 25000000;
VIEW SATIRLARI ÜZERINDE GÜNCELLEME :
ÖRNEK: UST_PER_VIEW adli view’de sicili 27251 olan kisnin maasini 37000000 olarak degistir.
UPDATE UST_PER_VIEW
SET brüt = 37000000
WHERE sicil = 27251;
BIR VIEW'U SILMEK:
DROP VIEW - GÖRÜS ALANI IPTALI
DROP VIEW UST_PER_VIEW;
Yukarı Dön
Misafir Açılır Kutu İzle
Misafir
Misafir
Simge
Mesajın Direkt Linki Gönderim Zamanı: 28 Nisan 2007 Saat 08:13
Tesekkürler Güzel Paylasim Wink
Yukarı Dön
 Yanıt Yaz Yanıt Yaz
  Konu Paylaş   

Forum Atla Forum İzinleri Açılır Kutu İzle

Forum Software by Web Wiz Forums® version 11.10
Copyright ©2001-2017 Web Wiz Ltd.

Bu Sayfa 0,945 Saniyede Yüklendi.