Anasayfa / Sql Kurs / Select,update,delete,insert into Sql Seçme güncelleme silme ve ekleme

Select,update,delete,insert into Sql Seçme güncelleme silme ve ekleme

Select,update,delete,insert into Sql Seçme güncelleme silme ve ekleme

Select,update,delete,insert into Sql Seçme güncelleme silme ve ekleme Data Manuplation Language ( Veri Düzenleme Dili)

Data Manuplation Language kısaca DML olarak okunur.Databasede bulunan kayıtlar üzerinde
ekleme,güncelleme,delete ve seçme işlemi yapmaya yarar(insert,update,delete,select)
– Select  Databasede bulunan tablodaki kayıtları göstermek için
– Update  Databasede bulunan tablodaki veriyi değiştirmek için
– Delete  Databasede bulunan tablodaki veriyi silmek için
– Insert Into Database bulunan tabloya yeni bilgi girişi yapmak için

kullanılır.

Select ifadesi Kullanımı:

Tablodaki veri veya verileri sıralamak için kullanılan bir yöntemin komutudur.
Select komutuyla birlikte filtreleme, guruplama, şartlı sorgular, iç içe sorgular yapılabilir

SELECT [DISTINCT][ALL]  FROM Tablo_Adi
[WHERE Kosul] [GROUP BY Kosul] [HAVING Kosul] [UNION Kosul] [ ORDER BY Alanlar [ASC] [DESC]]

SELECET  field1,field2,field3,  FROM    Tablo_Adi
Örneğimizde personel tablomuz, içerisinde Id,Yas,Ad,Gorev kolonlari oldugunu varsayiyoruz.
Buna göre

Select Id,Yas,Ad,Gorev from personel

Sql Server içerisinde tablolarda tüm verileri çalıştırmak istersek kolon kolon aralarına virgül koyarak çalıştırılabilir.
Kısa yol olarak ise * işaretini kullanırız

Select * from personel

Yukarıdaki sorgu bir üstte verilmiş olan sorgu ile aynı görevi görür.

Select Distinct ifadesi yapılan sorguda birden fazla, aynı kayıt varsa , aynı kayıtlardan 1 sonuç gösterir

Select distinct(Adi) from personel

Yukarıdaki sorguda personel tablosundaki aynı isimden 3 tane mükerrer kayıt var ise yanlızca bir tanesini gösterir
Neye göre bir tanesini gösterir peki ? sıralama olarak Id kolonunda sayısal olarak ilk gelen önce çıkar.Eğer bu sıralamayı değiştirmek
istersek order by ifadesini kullanarak istediğimiz kolonun özelliklerini sıralarız.
Where ifadesi Kullanımı :

Where ifadesi sorgu cümlemiz bittikten sonra sonuna eklenir ve aradığımız koşul belirtilir. Kullanım şekli ;

select * from personel
where Adi = ?Murat?

Yukarıda belirtilen sorguda Personel tablosundaki Adı Kolununda Murat ismi geçen kayıt yada kayıtları gösterir.

where komutu ile birlikte kullanılan operatörler aşağıdaki gibidir.

=           Eşit
<>          Eşit Değil
>           Büyük
<           Küçük
>=          Büyük veya Eşit
<=          Küçük veya eşit
!<          Küçük değil
!>          Büyük değil
Between     Arası
like        Gibi,benzeri
in          içerisinde varmı ?
AND         VE verilen and ifalerinin hepsi doğru olması ile gerçekleşir
OR          VEYA ifadelerden biri doğru ise işlem gerçekleşir
NOT         Değil ifadenin yanlış olması durumunda işlem yapılır

Sql Server?ın bazı versiyonlarında <> eşit değildir ifadesi yerine
!= ifadesi kullanılmaktadır.

Select * from personel
where Yas > 40

Yukarıdaki sorguda 40 yaşından büyük tüm personelleri gösterir

Select * from personel
where Yas > 40 and Adi like ?mur?

Dikkat ederseniz like ?mur? yazdım yani mur ile başlayan tüm isimler çıkıcak(murat,Murtaza vs.) tabi 40 yaşından büyük olan şartımız geçerli olmak üzere.
like ifadesi kullanımında çok işinize yarayacak bir ifade daha var.% ifadesi

Bu

Select * from personel
where  Adi like ?m%?

M Harfi ile başlayan tüm kişileri getirir.
% işareti kelimenin aranılan kelimenin başına konursa örnek olarak murat ismini aratırken (?%rat?) verilen harf veya harflerden önce başka bir harf veya harfler olduğunu,
Aratılan harf veya harflerden sonra konulursa(?m%?),(?mura%?) verilen harfden sonra harf veya harfler olduğunu belirtir.
Ayrıca hem önüne hemde arkasınada koyabilirsiniz.(?%m%?)

Like ile birlikte kullanılabilen diğer operatörler

%                 0 veya daha fazla karakter
_                  Sadece tek bir karakter
[]                 Belirtilen karakterler arasında sadece tek bir karakter
[^]               Belirtilen karakterler arasında olmayan tek bir karakter

?
select * from personel
where yas< 40

40 Yaşından ufak tüm personelleri liselemek için kullanılan sorgudur.

select * from personel
where yas between  20 and 30

Yukarıdaki sorguda yaşı 20 ve 30 arasında olan tüm personelleri listemesi istenmiştir.
Insert into ifadesi Kullanımı :

Insert Into bir tabloya bilgi eklemek için kullanılır.Kullanımı aşağıdaki gibidir.

Insert Into Tablo_Adi
Values(Deger1,deger2,deger3)

Diger kullanımı
Insert Into Tablo_Adi(KolonAdi1,KolonAdi2,KolonAdi3)
Values(Deger1,deger2,deger3)

2.Verilen sorgu daha çok kullanılır.Çünkü 1.sorguda kolon adları verilmemiştir.Dolayısı ile verilen değerler Values(deger1,deger2,deger3)
dediğimizde tablodaki kolonlarla örtüşmezse sorgu hatalı döner işlem yapılmaz.
Garanti sorgu 2. olandır.Çünkü kolon adları belirtilerek girilecek bilgiler belirtilmiştir.

Insert Into personel(Yas,Ad,Gorev)
Values(24,?Murat?,?Yazılım Uzmanı?)

gibi kullanılır.

Update ifadesi Kullanımı :

Tabloda veya viewde bulunan bilgileri tek tek yada toplu olarak güncelleştirilmesi sağlar
update tablo_adi
set kolon = ?Yeni_deger?
where kosul = ?Varolan_Deger?

Örnek olarak personel tablosundaki Murat isimli 22 yaşındaki kişinin görevini değiştirelim

update personel ? Personel Tablosundaki
set gorev = ?Database Administrator? ?Gorevi Database Administrator Yap
where Adi = ?murat? and Yas = 22 ? Adı Murat olan ve Yaşı 22 olan

Birden Fazla güncelleştirme(update) yapmak için

update personel
set gorev = ?Bilgisayar?
where Adi = ?Murat?

Yukarıdaki cümlemizde personel tablosunda bulunan murat isimli tüm kayıtların görevlerini
hepsini bilgisayar yaptırdık.

Delete ifadesi Kullanımı :

Tabloda veya viewde bulunan bir satır veya belirli bulunan bir koşul belirtilerek örnek olarak görevi bilgisayar olan herkesi sil gibi kullanabiliriz
Örnek kullanımı aşağıdaki gibidir.

Tek bir satır silmek için ;

delete from personel
where Adi = ?murat? Yas = 22

Adı murat yaşı 22 olan personel ve aynı kriterlere uygun birden fazla personel varsa silinmesini
istediğimiz cümlemiz yukarıdaki gibiydi.

Delete komutu ile tablo içersindeki tüm verileri silmekde mümkün
Bu cümleyi dikkatlice kullanmalıyız tablo içersindeki tüm verileri silebilir.

delete * from personel

personel tablosundaki tüm kayıtları silmek için kullanılır.
Order By ifadesi Kullanımı ;

Order By idafesi sıralama için kullanılır.İçersinde 2 ana sıralama şekli barındırır.Order by Asc ve Order by Desc
Diğer kullanım şekli Order by Kolon_Adi. Örnek Kullanımları aşağıdaki gibidir.
Order by Asc = Küçükten büyüğe doğru sıralar ve kullanılmassada default olarak çalışır.Order by Asc demezsekde
Select * from personel bize aynen kullanılmış gibi kayıtları döndürür.
Order By Desc = Kayıtları tersden sıralayarak kayıtları gösterir.Sondan başa doğru.
Select * from personel
Order by asc

Başdan sona doğru (küçükten büyüğe doğru) sıralar

Select * from personel
Order by Desc

Sondan doğru başa doğru (Büyükten küçüğe doğru) sıralar

Select * from personel
Order by Yas

Yas kolonuna gore sıralar.Eger

Select * from personel
Order by Adi

Alfabetik olarak sıralar.

And & Or ifadeleri Kullanımları :

And & Or ifadeleri where komutu ile birlikte kullanılır.

And komutu birden fazla koşul kullanmak için kullanılabilir.Yukarıda belirttiğimiz gibi

select * from personel
where adi = ?murat? and Yas = 22

Adı Murat olan ve yaşı 22 olan personel veya personelleri listeler

Or kullanımı ise belirli olan 2 koşuldan aradığınız kayıdı rahat bulabilmek için kullanabilirsiniz.
select * from personel
where adi = ?murat? or Yas = 22

Adı murat olan veya yaşı 22 olan personelleri listeler
Aynı zamanda hem And ifadesini hemde Or ifadesini kullanabilirsiniz.

SELECT * FROM Personel WHERE
(FirstName=?Ali? OR FirstName=?Murat?)
AND LastName=?Karakuş?

ismi ali veya murat olan soyadında karakuş kelimesi bulunan kayıtları gösterir.

In ifadesi Kullanımı:

Bu ifadede where komutu ile birlikte kullanılır.Birden fazla aratılan şartları listelemek için kullanılır.Örnek kullanım aşağıdaki gibidir

SELECT * FROM Personel
WHERE Adi IN (?Murat?,?Ali?)

Murat ve Ali isimleri ile ilgili kayıtları bize gösterir.

Joins(birleştir) ifadesi ve Keys Kullanımları :

Tablolar arası ilişki diğer bir deyimle iki tablo arası bağlantı kurarak sonuç göstermeye yarar.
Tablolar birbirleriyle bağlantı kurmak için keys kullanır.Nedir bu keysler ?
Primary key olarak unique bilgilerin tablolar arası birleşimini sağlar.
Bağlantı kurmak istenilen tablolar arasında olması gereken bu keysler Join Metodlarının olmazsa olmazıdır.
Örnek kullanımı aşağıdaki gibidir.Aşağıdaki örnekte 2 tablomuz var ve her birinde 1 tane primary key Id alanı var

SELECT Employees.Name, Orders.Product
FROM Employees, Orders
WHERE Employees.Employee_ID=Orders.Employee_ID
1.Tablo Gemi personel listesi.2.Tablo Gemi isimleri listesi buna göre bunları şu şekilde birleştirebiliriz

Inner Join Kullanımı :

Eğer kayıt yoksa boş kayıt görünür.

Left Join  Kullanım : 2 tabloyu birleştirip her tablodan istenilen bilgiler sorguya yerleştirilirken soldaki tabloyu baz alarak query çalışır.Soldaki Tablo baz alındığı için diğer tabloda karşılığı olmayan kayıtlar gelmez

Rihgt Join Kullanım : 2 tabloyu birleştirip her tablodan istenilen bilgiler sorguya yerleştirilirken sağdaki tabloyu baz alarak query çalışır.Soldaki Tablo baz alındığı için diğer tabloda karşılığı olmayan kayıtlar gelmez
Select p.PersonelId,p.Adi,G.Kodu
from personel p inner join gemiler G
on p.ID = g.PerID
?left ve right join
?tablo 1 inner join tablo 2 yazarız normalde
?tablo 1 left inner join tablo 2 yazarsak
?asıl tablo tablo1,eşleşen tablo tablo 2 olur
?right da ise sonraki tablo neyse o baz alınır
select * from ogrenciler
select * from dersler
select * from notlar

?adi,soyadi,dersadi,aldığı notu veren sql cümlesi

select O.ADi,O.Soyadi,D.DersAdi,N.Notu
from Ogrenciler O inner join Notlar N
on O.OgrID = N.OgrID
inner join Dersler D
on D.DersID = N.DersID
order by N.Notu desc
?örneğin right join ile yapılışı

select O.ADi + ? ? + O.Soyadi as ?Ad Soyad?, D.DersAdi,N.Notu
from Notlar N right  join Ogrenciler O
on O.OgrID = N.OgrID
left join Dersler D
on D.DersID = N.DersID
order by N.Notu desc

?örneğin left join ile yapılışı

select O.ADi + ? ? + O.Soyadi as ?Ad Soyad?, D.DersAdi,N.Notu
from Notlar N left  join Ogrenciler O
on O.OgrID = N.OgrID
right join Dersler D
on D.DersID = N.DersID
order by N.Notu desc

select * from Ogretmenler

select O.Adi,O.Soyadi,D.DersAdi,D.DersID
from Ogretmenler O inner join Dersler D
on O.DersID = D.DersID

?örneğin left joinle yapılışı

select O.Adi,O.Soyadi,D.DersAdi,D.DersID
from Ogretmenler O left join Dersler D
on O.DersID = D.DersID

?örneğin right joinle yapılışı(boşta olan öğretmenleri gördük)

select O.Adi,O.Soyadi,D.DersAdi,D.DersID
from Ogretmenler O right join Dersler D
on O.DersID = D.DersID

?soru1
?ogrno,ogradi+soyadi,dersadi,hocası,notu
?yalnız bu sql cümlesini yazarken
?sınava girmemişlerinde görünülmesi istiyoruz
select O.OgrID,O.Adi + ? ? + O.Soyadi as ?Ad Soyad?,D.DersAdi
,OG.Adi + ? ? + OG.Soyadi as ? Ad Soyad? ,N.Notu
from ogrenciler O left join Notlar N
on O.OgrID=N.OgrID
left join Dersler D
on D.DersID=N.DersID
left join Ogretmenler OG
on OG.DersID=D.DersID

Union ve Union All ifadesi Kullanımı :

iki tabloyu içerisindeki 1 er tabloyu tek tablo olarak kullanmak için kullanabiliriz.Join ile aynı görevi yapar.Union tek istediği özellik
2 tablodaki birleştirilmek istenilen kolonların veri tiplerinin(Data type) aynı olmasıdır

select adi from personel
union
select gemiciadi from gemiler

Union All ifadeside aynı görevi görür..

Ayrıca Buna Bakabilirsiniz

TRANSACTION Nedir

TRANSACTION Nedir ? Transaction Ne işe yarar ? Bir veya daha fazla SQL ifadeleri tek …

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir