Python MySQL အပ် ဒိတ်ဇယား
ဇယားကို အပ်ဒိတ်လုပ်ပါ။
"UPDATE" ကြေညာချက်ကို အသုံးပြု၍ ဇယားတစ်ခုရှိ ရှိပြီးသားမှတ်တမ်းများကို အပ်ဒိတ်လုပ်နိုင်ပါသည်။
ဥပမာ
"Valley 345" မှ "Canyon 123" သို့ လိပ်စာကော်လံကို ထပ်ရေးပါ-
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor =
mydb.cursor()
sql = "UPDATE customers SET address = 'Canyon 123'
WHERE address = 'Valley 345'"
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, "record(s) affected")
အရေးကြီးသည် : ထုတ်ပြန်ချက်ကို သတိပြုပါ
mydb.commit()
။ အပြောင်းအလဲများပြုလုပ်ရန် လိုအပ်သည်၊ သို့မဟုတ်ပါက ဇယားတွင် အပြောင်းအလဲမရှိပေ။
UPDATE syntax ရှိ WHERE အပိုဒ်ကို သတိပြုပါ- WHERE အပိုဒ်သည် မည်သည့် မှတ်တမ်း သို့မဟုတ် မှတ်တမ်းများကို မွမ်းမံသင့်သည်ကို သတ်မှတ်သည်။ WHERE အပိုဒ်ကို ချန်လှပ်ထားပါက၊ မှတ်တမ်းအားလုံးကို အပ်ဒိတ်လုပ်ပါမည်။
SQL Injection ကိုကာကွယ်ပါ။
အပ်ဒိတ်ထုတ်ပြန်ချက်များတွင်လည်း မည်သည့်မေးမြန်းမှု၏တန်ဖိုးများမှလွတ်မြောက်ရန် ကောင်းမွန်သောအလေ့အကျင့်ဟု ယူဆပါသည်။
၎င်းသည် သင်၏ဒေတာဘေ့စ်ကို ဖျက်ဆီးရန် သို့မဟုတ် အလွဲသုံးစားလုပ်ရန် ဘုံဝဘ်ဟက်ကာနည်းပညာဖြစ်သည့် SQL ထိုးသွင်းမှုများကို တားဆီးရန်ဖြစ်သည်။
mysql.connector module သည် %s
ဖျက်လိုက်သောထုတ်ပြန်ချက်တွင် တန်ဖိုးများကို လွတ်ကင်းစေရန် placeholder ကိုအသုံးပြုသည်-
ဥပမာ
နေရာယူသည့်နည်းလမ်းကို အသုံးပြု၍ တန်ဖိုးများကို လွတ်မြောက်စေသည် %s
-
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
sql = "UPDATE customers SET address = %s
WHERE address = %s"
val = ("Valley 345", "Canyon 123")
mycursor.execute(sql,
val)
mydb.commit()
print(mycursor.rowcount, "record(s)
affected")