update (Tablodaki Verileri Değiştirme)
UPDATE tablo_adi SET kolon1 = değer1, kolon2 = değer2, ... WHERE koşul;
where ifadesi opsiyoneldir. where ile koşul belirtilmezse değişiklik tablodaki tüm
satırlarda yapılır.
UPDATE film SET title = ‘Zoo Lander Fiction’ WHERE film_id = 999;
film_id = 999 olan satırda title kolonundaki değeri değiştirdi. Eğer where ile koşul
belirtmeseydik tablodaki title kolonundaki tüm değerler ‘Zoo Lander Fiction’ değeri ile
değişecekti.
UPDATE film SET release_year = ‘İki bin On’ WHERE film_id = 99 ;
Sorgu sonucu ekranda dönen hata mesajında kolonun belirtilmiş türü ile yeni verilen
değerin türünün aynı olmadığı bildirilir.
**Veriler update edilirken kolonların türü dikkate alınmalıdır.
Birden çok satırda değişiklik yapmak için;
UPDATE film SET language_id=3 WHERE film_id BETWEEN 17 and 20 ;
Sorgu film_id değeri 17 ve 20 arasında olan satırlarda değişiklik yapar.
UPDATE film SET language_id=1 WHERE (film_id=17 or film_id=20) ;
Sorgu film_id değeri 17 veya 20 olan satırlarda değişiklik yapar. (Yani 2 satırda değişiklik
yapılır.)
UPDATE film SET language_id=2 WHERE (film_id=17 and film_id=20) ;
Sorgu mantık olarak doğrudur ve çalışır ancak hiçbir satırda değişiklik yapılmaz bu
yüzden UPDATE 0 değeri ekranda döner. Çünkü film_id değeri hem 17 hem de 20 olan
bir satır yoktur.
UPDATE film SET language_id=2 WHERE title LIKE '%lone%' returning *;
UPDATE film SET language_id=2 WHERE title LIKE 'alone%' ;
Sorgu çalışır ancak herhangi bir satırda değişiklik olmaz sorgunun doğru çalışması için
aşağıdaki iki komut kullanılmalır.
UPDATE film SET language_id=2 WHERE title LIKE 'Alone%' ; UPDATE film SET language_id=2 WHERE title ILIKE 'alone%' ; UPDATE film SET language_id=2 WHERE title ILIKE 'Alone%'
