بروزرسانی جدول MySQL

از ویکی‌کد، دانشنامهٔ برنامه‌نویسی
پرش به ناوبری پرش به جستجو
Main Page Tutorial
Python-menu.png
موارد آموزشی
مدیریت فایل
یادگیری ماشین
MySQL در پایتون
۱شروع کار
۲ایجاد پایگاه‌داده
۳ایجاد جدول
۴واردکردن در جدول
۵انتخاب
۶Where
۷Order By
۸حذف از جدول
۹حذف جدول
۱۰بروزرسانی
۱۱محدودکردن
۱۲الحاق
MongoDB در پایتون
مرجع پایتون
مرجع ماژول
چگونه در پایتون؟
مثال‌های پایتون

بروزرسانی جدول

می‌توان با استفاده از عبارت “UPDATE” رکوردهای موجود در یک جدول را بروزرسانی کرد:[۱]

مثال

ستون آدرس را از "Valley 345 به "Canyoun 123" تغییر می‌دهد:

 1import mysql.connector
 2
 3mydb = mysql.connector.connect(
 4  host="localhost",
 5  user="yourusername",
 6  passwd="yourpassword",
 7  database="mydatabase"
 8)
 9
10mycursor = mydb.cursor()
11
12sql = "UPDATE customers SET address = 'Canyon 123' WHERE address = 'Valley 345'"
13ز
14mycursor.execute(sql)
15
16mydb.commit()
17
18print(mycursor.rowcount, "record(s) affected")


مشاهدهٔ نتیجه


مهم!: به عبارت mydb.commit() دقت کنید. این عبارت برای ایجاد تغییرات لازم است، در غیر اینصورت هیچ تغییری در جدول ایجاد نمی‌شود.
به عبارت WHERE در نحو UPDATE دقت کنید: عبارت WHERE رکوردی یا رکوردهایی که باید بروزرسانی شوند را مشخص می‌کند. اگر عبارت WHERE را حذف کنید، همهٔ رکوردها بروزرسانی خواهند شد!

جلوگیری از SQL Injection

گریز از مقدارها (به انگلیسی: Escape the values) در همهٔ پرس و جوها، همچنین در عبارت UPDATE یک روش خوب محسوب می‌شود.

این کار برای جلوگیری از SQL Injectionها است، که یک تکنیک هک رایج برای نابودی یا سوءاستفاده از پایگاه داده شماست.

ماژول mysql.connector از %s placholder در عبارت delete استفاده می‌کند:

مثال

با استفاده از متد %s placholder از مقدار در پرس و جو می‌گریزد:

 1import mysql.connector
 2
 3mydb = mysql.connector.connect(
 4  host="localhost",
 5  user="yourusername",
 6  passwd="yourpassword",
 7  database="mydatabase"
 8)
 9
10mycursor = mydb.cursor()
11
12sql = "UPDATE customers SET address = %s WHERE address = %s"
13val = ("Valley 345", "Canyon 123")
14
15mycursor.execute(sql, val)
16
17mydb.commit()
18
19print(mycursor.rowcount, "record(s) affected")


مشاهدهٔ نتیجه



منابع آموزشی