SQL’de UPDATE Komutu
SQL dilinde UPDATE deyimi, veritabanında bulunan verileri değiştirmek-güncellemek amacıyla kullanılan bir deyimdir. Bu derste UPDATE deyiminin kullanımıyla ilgili bazı örnekler yapacağız.
Önceki derslerde de olduğu gibi, bu derste de aşağıdaki örnek tablomuzu kullanacağız.
tablo: personel
ID | isim | bolum | dtarihi | dyeri | maas |
---|---|---|---|---|---|
24 | Aylin Demiray | Muhasebe | 1982 | Niğde | 1100 |
42 | Mehmet Eroğlu | Bilgi İşlem | 1977 | Ankara | 1450 |
54 | Selim Kaya | Bilgi İşlem | 1965 | Konya | 1400 |
61 | Sevda Gökalp | Arşiv | 1980 | İstanbul | 1300 |
Not: Tablodaki ID alanı birincil anahtar, ID, dtarihi ve maas alanları sayısal, diğerleri metin tiptedir. Ayrıca normal şartlarda bolum ve dyeri alanlarında ilişki kurulması gerekir. Fakat burada konuyu basit tutmak amacıyla bilgiler bu şekilde kaydedilmiştir.
UPDATE deyiminin formatı şu şekildedir:
UPDATE [tablo adı] SET [yeni bilgiler] WHERE [şartlar]
Bu formata göre UPDATE deyiminden sonra hangi veritabanı tablosunda güncelleme yapmak istiyorsak o tablonun adını yazıyoruz. SET deyiminden sonra değiştirmek istediğimiz bilgileri giriyoruz. Son olarak WHERE ifadesinden sonra değiştirme işlemi yapacağımız kayıtlarla ilgili şartı veya şartları yazıyoruz. WHERE ifadesinin kullanımı zorunlu değildir, fakat WHERE kullanılmazsa bütün kayıtlar değiştirme işleminden etkilenecektir. Basit bir örnekle başlayalım:
UPDATE personel SET bolum='İdari'
Bu SQL komutu herhangi bir şart aramaksızın (WHERE deyimini kullanmadık), personel tablosunda bulunan kayıtların bölümünü İdari olarak değiştirir.
Başka bir örnekle devam edelim. Bu örnekte bölümü Bilgi İşlem olan kayıtlardaki Bilgi İşlem kısmını Veri Güvenliği olarak değiştirmek istiyoruz. Dolayısıyla komutumuz şu şekilde olacak:
UPDATE personel SET bolum='Veri Güvenliği' WHERE bolum='Bilgi İşlem'
Bu komuttan sonra tabloda, şartı sağlayan iki kayıt güncellenecek ve tablomuzun son hali şu şekilde olacaktır:
ID | isim | bolum | dtarihi | dyeri | maas |
---|---|---|---|---|---|
24 | Aylin Demiray | Muhasebe | 1982 | Niğde | 1100 |
42 | Mehmet Eroğlu | Veri Güvenliği | 1977 | Ankara | 1450 |
54 | Selim Kaya | Veri Güvenliği | 1965 | Konya | 1400 |
61 | Sevda Gökalp | Arşiv | 1980 | İstanbul | 1300 |
Tablonun son halini kullanarak, başka bir örnekle devam ediyoruz:
UPDATE personel SET dtarihi=1978 AND dyeri='Kırıkkale' WHERE ID=42
Bu SQL komutunda AND kullanarak iki alanı güncelledik, sonuç olarak, ID’si 42 olan kayıtta dtarihi alanı 1978 ve dyeri alanı Kırıkkale olarak değişecektir:
ID | isim | bolum | dtarihi | dyeri | maas |
---|---|---|---|---|---|
24 | Aylin Demiray | Muhasebe | 1982 | Niğde | 1100 |
42 | Mehmet Eroğlu | Veri Güvenliği | 1978 | Kırıkkale | 1450 |
54 | Selim Kaya | Veri Güvenliği | 1965 | Konya | 1400 |
61 | Sevda Gökalp | Arşiv | 1980 | İstanbul | 1300 |
Bu örnekte ise UPDATE deyiminin matematiksel olarak kullanımıyla ilgili bir örnek yapıyoruz:
UPDATE personel SET maas=maas+100 WHERE ID=61
ID numarası 61 olan personelin maaşını 100 arttırdık. Tablonun en son haline bakacak olursak:
ID | isim | bolum | dtarihi | dyeri | maas |
---|---|---|---|---|---|
24 | Aylin Demiray | Muhasebe | 1982 | Niğde | 1100 |
42 | Mehmet Eroğlu | Veri Güvenliği | 1978 | Kırıkkale | 1450 |
54 | Selim Kaya | Veri Güvenliği | 1965 | Konya | 1400 |
61 | Sevda Gökalp | Arşiv | 1980 | İstanbul | 1400 |
Buradaki toplama işlemi gibi çıkarma, çarpma, bölme gibi işlemler de UPDATE deyimi ile birlikte yapılabilir. Bu kadar örnek yeterli olmuştur umarım. Faydalı olması dileğiyle.