Veritabanı SQL komutları

Select, Update, Delete, Insert ^-^


Temel SQL veritabanı komutları Insert, Update, Delete ve Select komutlarıdır. İsimlerinden de anlaşılacağı üzere Insert kayıt eklemek, Update mevcut kaydı güncellemek, Delete mevcut kaydı silmek ve Select ise belirlenen kayıtları seçmek için kullanılır. Şimdi sırayla bu komutları örnekleriyle birlikte görmek için örnek bir veritabanı ve tablo oluşturalım.

Veritabanı oluştururken yapacağımız şey temelde oluşturulacak veritabanına bir isim vermektir. Ancak bunu yaparken uymamız gereken bazı kurallar vardır. Ve bunlar da özetle aşağıdaki gibidir.

1- Veritabanı isminde rakam kullanılabilir ama rakamla başlayamaz,

2-Boşluk içermez,

3-Türkçe karakter içermez,

4-Ayrılmış isim içermez.

Aşağıdaki örnekte cihaz isimli bir veritabanı oluşturulmuştur.

CREATE DATABASE cihaz

SQL Server’da da yazılan sorguyu çalıştırmak için F5 kullanılır. Sorgu başarılı şekilde SQL Server’da çalıştığında aşağıdaki komut çıktısı görüntülenir. Aynı zamanda SQL Server Management Studio’da “Execute” butonu ile de sorgu çalıştırılabilir.

Query executed successfully.

Yukarıda sıraladığımız dört madde tablo oluştururken de uymamız gereken kuralları içerir.

Aşağıdaki örnekte ise yine cihaz isimli bir tablo oluşturulmuştur.

CREATE TABLE cihaz(cihaz_id int,cihaz_adi varchar(20),cihaz_turu varchar(20),cihaz_marka varchar(20),cihaz_model varchar(20),);

Yazının devamı için verilen örnekler de aşağıki örnek tablo oluşturulmuştur.  Eğer sorgularınız sırasında hata alırsanız hata çıktısı ile birlikte örnekteki gibi kolonların tanımlanmış olmasına dikkat etmelisiniz. Dikkat etmemiz gereken bir başka şey ise veri türlerinin uygun şekilde tanımlanmış olmasıdır. Örneğin cihaz_id numerik bir değer içeriyor olacağından varchar ya da text yerine integer veri tipi ile tanımlanmalıdır.


INSERT – Kayıt ekleme

Veri tüm kolonlara eklenecekse;

Insert into cihaz values(1,'Notebook','Bilgisayar','HP','Pavilion')

Eğer kayıt sadece belli kolonlara eklenecekse ise aşağıdaki gibidir.

Insert into cihaz (cihaz_id,cihaz_adi,cihaz_turu,cihaz_marka,cihaz_model) values (2,'Notebook','Bilgisayar','Dell','Inspiron')

Eğer çok sayıda kayıt eklenecekse aşağıdaki komut kullanılabilir. Bu sayede her kayıt için ayrı ayrı insert into komutu kullanılmamış olur.

Insert into cihaz (cihaz_id,cihaz_adi,cihaz_turu,cihaz_marka,cihaz_model)select 9,'PC','Bilgisayar','HP','MT2100'Union Allselect 10,'Notebook','Bilgisayar','Lenovo','ThinkPad E450'

UPDATE – Kayıt güncelleme

Update cihaz set cihaz_adi='Elma' where cihaz_id='1'

DELETE – Kayıt silme

Delete cihaz where cihaz_id='3'

SELECT – Seçme işlemleri

Tabloya ait bütün kolonları(sütun) getirmek için;

Select * from cihaz

Sadece belirlediğimiz kolonları getirmek içinse aşağıdaki komutu kullanırız.

Select * from cihaz where cihaz_marka='Apple'

Ya da;

Select * from cihaz where cihaz_marka='Apple' and cihaz_model='iMac 27'

Eğer varchar veri türüne sahip bir kolondan veri çekilecekse yazılan sorguda ilgili kolona ait veri (‘) iki tek tırnak işaretleri arasına alınmalıdır.

SELECT – Top komutu kullanımı

SQL Serverda en üstteki x sayıda kayıt aşağıdaki komutla çekilebilir.

Select top 3 * from cihaz

Ya da;

Select top 6 * from cihaz

SELECT – Order by komutu kullanımı

Sorgunun hangi sıralamaya göre çekileceğini belirler. Order by komutu, ASC ile kullanıldığında küçük veriden büyüğe; DESC ile kullanıldığında ise büyükten küçüğe doğru sıralama sağlar. Aşağıdaki sorgu örneğinde cihaz tablosundaki kayıtlar marka bilgisine göre küçük harften büyük harfe doğru sıralanır.

Select * from cihaz order by cihaz_marka ASC

Aşağıdaki sorguda ise yine marka bilgisi bu kez büyük harften küçük harfe doğru sıralanır.

Select * from cihaz order by cihaz_marka DESC

SELECT – Distinct komutu kullanımı

Tekrarlanan verilerin tek bir kayıt olarak çekilmesi için kullanılan komuttur. Örnek tablomuzda hangi markalara ait cihazların bulunduğunu öğrenmek istiyorsak sorgumuz aşağıdaki gibi olacaktır. Distinct komutu tek başına kullanılamaz.

Select Distinct cihaz_marka from cihaz

Örnek tablomuza göre sorgu çıktısı aşağıdaki gibi olacaktır.


Yazı Bildirimleri için Abone Ol!

[newsletter_form type=”minimal” lists=”undefined” button_color=”undefined”]

Select Komutu Örnekleri

/*SELECT alanlar (* bir tablodaki tüm alanlar gösterilecek)FROM tablolar                                                                                                                                                                                                                                      [WHERE koşullar                                                                                                                          ORDER BY sıralama_koşulları]                                                                                                WHERE koşul vermek için kullanılır...                                                                                                             <><= >==<> AND OR NOT                                                                                                               WHERE alan='deger'                                                                                                              WHERE alan>deger */ 
/* personel tablosundaki tüm kayıtları listeleyen (seçen) SQL kodu yazınız */  SELECT * FROM personel
 /*personel tablosundaki personelin adı, soyadı ve maaşını listeleyen kodu yazınız. */                                                                                                                                                                             SELECT adi,soyadi,maasi FROM personel
 /* personel tablosundaki personelin adını soyadını ve maaş bilgisini listeleyen kodu yazınız. Kolan listesi ADI SOYADI MAAS BILGISI şeklinde olsun */SELECT adi AS ADI, soyadi AS SOYADI, maasi AS [MAAS BİLGİSİ] FROM personel


Insert Komutu Örnekleri

/*INSERT INTO tabloadi(alanlar….)VALUES (değerler)*/
INSERT INTO personel(id,adi,soyadi,bolumu)VALUES (15,'Hasan','Acar','Bilgisayar')
INSERT INTO personel(id,adi,soyadi,bolumu,maasi)VALUES(16,'Ali','Can','İşletme',3000),(18,'Metin','Ay','Bilgisayar',5000)
INSERT INTO kisiVALUES(100,'Emir','ÖYMEN')
INSERT INTO kisiVALUES(100,'Mırdo') --Bu kod çalışmaz. Nedeni alan veri uyuşmalığı
INSERT INTO kisi(sirano,adi)VALUES(100,'Muck')



Update Komutu Örnekleri

/*UPDATE tabloadiSET alan=deger / /UPDATE tabloadiSET alan=degerWHERE koşul / /UPDATE tabloadiSET alan=alan*1.25 ---mat işlemWHERE koşul */
/* Soru : id si 1 olan personelin maaşını 0 yapan kodu yazınız. / UPDATE personel                                                                                                                    SET maasi=0                                                                                                                                             WHERE id=1
/ Soru idsi 2 olan personelin maaşını 5000 tl yapan kodu yazınız. /                                                                       UPDATE personel                                                                                                                                                                                                   SET maasi=5000                                                                                                                                                     WHERE id=2 
/ idsi 2 olan personelin maaşımı %10 artıran kodu yazınız. /                                                                                         UPDATE personel                                                                                                             SET maasi=maasi1.1   /*maasi=maasi+maasi*0.1 */WHERE id=2
/* Bütün personelin maaşını %10 artıran kodu yazınız. /  UPDATE personel                                                                                SET maasi=maasi1.1
/* Ayşe Yıldız'ın dını Merve Soyasını Yaman yapan kodu yazınız. */UPDATE personel                       SET adi='Merve', soyadi='Yaman'                        WHERE id=2


Delete Komutu Örnekleri

/* DELETE FROM tabloadi WHERE koşul */ 
/* Hasan Acar adlı kayıtı silen kodu yazınız....*/ DELETE FROM personel WHERE adi='Hasan' AND soyadi='ACAR'
 /*Personel tablosundan Bilgisayar bolumundeki kayıtları silen kodu yazınız. */ DELETE FROM personel WHERE bolumu='Bilgisayar'
 /* Maasi 3000 den küçük olan personeli silen kodu yazınız.... */DELETE FROM personel WHERE maasi<3000
/* Tüm kayıtları siler */DELETE FROM personel

Yorumlar

Bu blogdaki popüler yayınlar

WPS WPA Tester 3.8.4 Premium APK

Heaven's Vault Torrent İndir

Clearview Twitch Yayın Aracı