Şimdi Ara

SQL UPDATE Komutu ile bir çok alanı Güncellemek

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
6
Cevap
0
Favori
78.056
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Php ve MySQL 'i yeni yeni öğreniyorum. Veritabanına veriler giriyorum ancak bu verileri düzenlemek istediğimde sorun yaşadım.
    sorunum bir yazım hatası mı, yoksa mantıksal hata mı anlayamadım. Yapmak istediğim şu.

    UPDATE komutnu öğrenmek için bulduğum örnekler şuna benziyor.

    UPDATE tablo_adi SET sutun_adi = yeni_deger WHERE sutun_adi = gecerli_deger

    Ben burada SET ten sonraki kısımda birçok alan değiştireceğim.

    Yani benim SQL kodum şuna benzeyecek.
    UPDATE tablo_adi SET sutun1=$yeni1,sutun2=$yeni2,sutun3=$yeni3 WHERE no=$no


    altı çizili olanlar PHP değişkenlerim. WHERE kısmından sonraki no alanı Tekrarı olmayan Autoincrement veri tipine sahip.
    düzenlemek istediğim satırı seçerken o satırın no alanında ki değerini alıp sadece o alanı değiştiriyorum.

    ama bunu yaptıgım zaman değişikliği bir türlü yapmıyor, acaba sorun nerede yardımcı olabilir misiniz?
    birçok kitap ve internet sitesi araştırdım ancak UPDATE komutu iple ilgili hep ilk yazdıgım ornege benzer veriler kullanılmış.



    < Bu mesaj bu kişi tarafından değiştirildi MaviAteş -- 13 Temmuz 2006; 11:22:03 >







  • Yapay Zekanın Yanıtı

    SQL UPDATE Komutu ile Birçok Alanı Güncellemek

    SQL UPDATE komutu, bir veritabanındaki tablo içindeki belirli kayıtların bir veya daha fazla alanını güncellemek için kullanılır. Tek tek satırlar yerine birden fazla satırı aynı anda güncellemek istediğiniz durumlarda, UPDATE komutuyla birlikte WHERE ifadesini kullanabilirsiniz.

    UPDATE komutunun WHERE ifadesiyle birlikte kullanılması, "çoklu güncelleme" veya "toplu güncelleme" olarak bilinir. Bu yöntem, bir tablodaki tüm satırları veya belirli bir koşulu karşılayan satırları güncellemek için kullanılabilir.

    SQL Çoklu Güncelleme Komutu Syntaxı:

    sql UPDATE tablo_adi SET alan1 = yeni_deger1, alan2 = yeni_deger2, ... WHERE kosul;

    Örnek:

    Bir "kişiler" tablosunda, ID'si 10'dan büyük olan tüm kişilerin "yaş" alanını 10 artırmak için:

    sql UPDATE kişiler SET yaş = yaş + 10 WHERE id > 10;

    Bu komut, "kişiler" tablosundaki ID'si 10'dan büyük olan tüm satırlardaki "yaş" alanını 10 artıracaktır.

    Dikkat Edilmesi Gereken Noktalar:

    • WHERE ifadesi, güncellenecek satırları belirtir. WHERE ifadesi kullanılmazsa, tabloda tüm satırlar güncellenir.
    • Birden fazla alanı güncellemek için alan adlarını virgülle ayırarak listeleyebilirsiniz.
    • Yeni değerler, sabit değerler, ifadeler veya alt sorgular olabilir.

    UPDATE komutunu WHERE ifadesiyle birlikte kullanmak, büyük veri kümelerinde verimli bir şekilde birden fazla satırı güncellemenizi sağlar. Bu yöntem, veri tutarlılığını sağlamak ve veritabanı yönetiminde verimliliği artırmak için önemlidir.

    Yapay Zekanın Yanıtını Genişlet
  • kullandığın yöntem doğru
    ama where şartını karşılamıyordur belki...
    yani WHERE no=$no şartı karşılanmıyordur...



    < Bu mesaj bu kişi tarafından değiştirildi şahinbey1 -- 15 Temmuz 2006; 21:52:08 >
  • Bu başlık altında sormak doğru mu bilmiyorum ama, 2 adet sütunu

    UPDATE urunler SET kategori_id=$kategori_id,urun_adi='$urun_adi' WHERE urun_id=$urun_id

    şeklinde update etmek kolay. 2 adet sütun düzenleniyor. Peki diyelim ki 15 tane sütunu güncelleyeceğiz. hepsini teker teker UPDATE urunler SET ............ where urun_id=$urun_id şeklinde yazmak zorundamıyız yoksa daha kolay bir yolu var mı?
  • quote:

    Orjinalden alıntı: Nedjima

    Bu başlık altında sormak doğru mu bilmiyorum ama, 2 adet sütunu

    UPDATE urunler SET kategori_id=$kategori_id,urun_adi='$urun_adi' WHERE urun_id=$urun_id

    şeklinde update etmek kolay. 2 adet sütun düzenleniyor. Peki diyelim ki 15 tane sütunu güncelleyeceğiz. hepsini teker teker UPDATE urunler SET ............ where urun_id=$urun_id şeklinde yazmak zorundamıyız yoksa daha kolay bir yolu var mı?




    Sql temel olarak küme işlemleri yapar. yani yaptığın her kısıtlama her işlem basit bir küme işlemidir. şunları güncelle (alanlar değerler) nerede (where) küme şartın. yani urun_id = 'xxx' .yani senin kümen urun_id leri xxx lere eşit olanların oluşturduğu kümedir. bu şekilde düşünürseniz daha rahat kavrayabilirsiniz




  • öncelikle cevap verdiğiniz için teşekkürler.

    Anlatmak istediğim 3 tabloyu birleştirmek için uzun uzun bunları yazmak gerekir mi? yani alttaki sorguyu çalıştırdığımda evet doğru şeyler geliyor. ama bu kullanım kötü mü yoksa normal bir kullanım mı?

    select id,uyeadi,adi,soyadi,email,adresadi,ilgili,tel1,tel2,adres,haber,kayittarihi,adres_il.il,adres_ilce.ilce from uyeler,adres_il,adres_ilce where adres_il.no=uyeler.ilno and adres_ilce.no=uyeler.ilceno and adres_il.no=adres_ilce.il order by id

    henüz pratikte pek iyi değilim sanırım..
  • quote:

    Orjinalden alıntı: Nedjima

    öncelikle cevap verdiğiniz için teşekkürler.

    Anlatmak istediğim 3 tabloyu birleştirmek için uzun uzun bunları yazmak gerekir mi? yani alttaki sorguyu çalıştırdığımda evet doğru şeyler geliyor. ama bu kullanım kötü mü yoksa normal bir kullanım mı?

    select id,uyeadi,adi,soyadi,email,adresadi,ilgili,tel1,tel2,adres,haber,kayittarihi,adres_il.il,adres_ilce.ilce from uyeler,adres_il,adres_ilce where adres_il.no=uyeler.ilno and adres_ilce.no=uyeler.ilceno and adres_il.no=adres_ilce.il order by id

    henüz pratikte pek iyi değilim sanırım..


    eve açıkça belirtmende fayda var...ancak bazı zamanlar joinler kullanılırken amaca göre left ,right ,outer ,inner gibi özelliklerinin belirtilmesi gerekir.. sql joinleri konusunu internetten araştırırsan daha yararlı olabilir




  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.