حذف رکورد داده در پایگاه داده MySQL

  • مدرس: علی بیگدلی
  • تاریخ انتشار: Oct 19, 2020

حذف رکورد داده

با استفاده از عبارت "DELETE FROM" می توانید سوابق را از جدول موجود حذف کنید.

در قطعه کد زیر هر سابقه ای که آدرس آن "Mountain 21" باشد را حذف می کند:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="myusername",
  passwd="mypassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "DELETE FROM customers WHERE address = 'Mountain 21'"

mycursor.execute(sql)

mydb.commit()

print(mycursor.rowcount, "record(s) deleted") 	

خروجی:

1 record(s) deleted

نکته: به این عبارت توجه کنید" mydb.commit ()" برای ایجاد تغییرات لازم است ، در غیر این صورت تغییری در جدول ایجاد نمی شود.

به بند WHERE در نحو DELETE توجه کنید: بند WHERE مشخص می کند کدام رکورد (ها) باید حذف شود. اگر بند WHERE را حذف کنید ، تمام سوابق حذف می شوند!

 

جلوگیری از تزریق SQL

فرار از مقادیر هرگونه پرسش ، همچنین در دستورات حذف ، یک روش خوب در نظر گرفته می شود.

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

ماژول mysql.connector از مکان یاب٪ s برای فرار از مقادیر در دستور حذف استفاده می کند:

برای مثال در قطعه کد زیر با استفاده از روش مکان یاب٪ s از مقادیر فرار می کند:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="myusername",
  passwd="mypassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "DELETE FROM customers WHERE address = %s"
adr = ("Yellow Garden 2", )

mycursor.execute(sql, adr)

mydb.commit()

print(mycursor.rowcount, "record(s) deleted") 

خروجی:

1 record(s) deleted 

 

ثبت دیدگاه
نام *
ایمیل*
دیدگاه *
0دیدگاه